如何关闭已退出C#的进程打开的窗口

时间:2013-09-25 11:13:36

标签: c# process exit process.start

我需要检查进程是否已启动,然后验证其退出代码。

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

if (EXProcess.HasExited)
 { ...}

EXProcess.Kill();

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

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

我该怎么办? 请帮忙

1 个答案:

答案 0 :(得分: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窗口已关闭。