-1

我需要检查一个进程是否启动,然后验证它的退出代码。

 EXProcess.StartInfo.FileName = strExE;
 EXProcess.StartInfo.Arguments = tempFile;
 EXProcess.Start();
 do
{}while (!rdcProcess.WaitForExit(1000));

if (EXProcess.HasExited)
 { ...}

EXProcess.Kill();

现在我必须以编程方式关闭此进程打开的窗口。从某种意义上说,我必须终止由此进程启动的所有内容。

该过程正在启动一个exe。我必须检查它是否能够成功启动它,所以我需要退出代码。因此,我正在等待代码退出。现在,在我得到退出代码后,进程启动的窗口仍然存在。我必须关闭那个窗口/以某种方式终止进程。但 EXProcess.Kill 给出了一个例外 - 评论中提到

我该怎么做?请帮忙

4

1 回答 1

1

我认为这就是您要实现的目标:

using (var process = new Process())
{
    process.StartInfo.FileName = "notepad.exe";
    process.StartInfo.Arguments = "";

    process.Start();
    process.WaitForExit(1000);

    if (!process.HasExited)
        process.Kill();
}

这将打开notepad.exe,如果它运行超过 1 秒,则将其杀死。如您所见,notepad.exe窗口已关闭。

于 2013-09-25T11:20:38.367 回答