TiffCP 进程不会关闭
TiffCP Process won't close
我创建了一个 windows 服务项目,它将使用 TiffCP exe 将它找到的任何 tiff 文件拆分为多个 tiff 文件。我正在使用网站上作为示例给出的代码:
public static class SplitTiffImage
{
public static void Main()
{
string[] arguments =
{
@"Sample Data\multipage.tif,1",
"SplitTiffImage_2ndPage.tif"
};
TiffCP.Program.Main(arguments);
Process.Start("SplitTiffImage_2ndPage.tif");
}
}
这按预期工作并拆分了文件。但是,创建了一个进程 (MSPVIEW.EXE),我无法访问该文件,因为它正在另一个程序中编辑。我必须手动终止进程才能访问它。我也试过将进程创建为变量,然后尝试关闭或终止它,但这似乎也没有用。有任何想法吗?谢谢
编辑:我在再次访问该进程之前以及在服务停止时放置了这段代码,它似乎可以解决问题。它有效,但我想知道是否有更好的方法。
Process[] process = Process.GetProcessesByName("MSPVIEW");
if (process.Length > 0)
{
foreach (var p in process)
{
p.Kill();
}
}
删除
Process.Start("SplitTiffImage_2ndPage.tif");
来自上面的代码。
该行在默认查看器中打开输出。在您的情况下,它是 Microsoft Office Document Imaging (MSPVIEW.EXE)。您显然不需要在查看器中打开输出。
我创建了一个 windows 服务项目,它将使用 TiffCP exe 将它找到的任何 tiff 文件拆分为多个 tiff 文件。我正在使用网站上作为示例给出的代码:
public static class SplitTiffImage
{
public static void Main()
{
string[] arguments =
{
@"Sample Data\multipage.tif,1",
"SplitTiffImage_2ndPage.tif"
};
TiffCP.Program.Main(arguments);
Process.Start("SplitTiffImage_2ndPage.tif");
}
}
这按预期工作并拆分了文件。但是,创建了一个进程 (MSPVIEW.EXE),我无法访问该文件,因为它正在另一个程序中编辑。我必须手动终止进程才能访问它。我也试过将进程创建为变量,然后尝试关闭或终止它,但这似乎也没有用。有任何想法吗?谢谢
编辑:我在再次访问该进程之前以及在服务停止时放置了这段代码,它似乎可以解决问题。它有效,但我想知道是否有更好的方法。
Process[] process = Process.GetProcessesByName("MSPVIEW");
if (process.Length > 0)
{
foreach (var p in process)
{
p.Kill();
}
}
删除
Process.Start("SplitTiffImage_2ndPage.tif");
来自上面的代码。
该行在默认查看器中打开输出。在您的情况下,它是 Microsoft Office Document Imaging (MSPVIEW.EXE)。您显然不需要在查看器中打开输出。