TiffCP流程不会结束

时间:2016-03-10 14:20:02

标签: c# libtiff libtiff.net

我创建了一个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();
    }
}

1 个答案:

答案 0 :(得分:1)

删除

Process.Start("SplitTiffImage_2ndPage.tif");

来自上面的代码。

该行在默认查看器中打开输出。在您的情况下,它是Microsoft Office Document Imaging(MSPVIEW.EXE)。您显然不需要在查看器中打开输出。