C# 如何关闭已退出C的进程打开的窗口#
我需要检查进程是否启动,然后验证其退出代码C# 如何关闭已退出C的进程打开的窗口#,c#,process,exit,process.start,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(); 现在,我必须以编程方式关闭此进程打开的窗口。从某种意
EXProcess.StartInfo.FileName = strExE;
EXProcess.StartInfo.Arguments = tempFile;
EXProcess.Start();
do
{}while (!rdcProcess.WaitForExit(1000));
if (EXProcess.HasExited)
{ ...}
EXProcess.Kill();
现在,我必须以编程方式关闭此进程打开的窗口。从某种意义上说,我必须终止这个过程所启动的一切
进程正在启动一个exe。我必须检查它是否能够成功启动,所以我需要退出代码。因此我要等到代码退出。现在,在我获得退出代码之后,由进程启动的窗口仍然存在。我必须关闭窗口/以某种方式终止进程。但是EXProcess.Kill给出了一个异常-在注释中提到过
我该怎么做?
请帮助我,我想这就是你想要实现的:
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
窗口已关闭。如果进程终止,其所有窗口也将消失,因此您的问题现在没有多大意义。你到底想关闭什么?我猜孙子进程是由子进程打开的。这看起来像是作业对象()的作业,但我不确定这些对象是否可以从.Net直接使用……我已经编辑了上面的代码。我没有试图终止这个过程。但是它提出了一个例外,说我不能终止进程,因为它已经退出了。我认为OP想要实现的可能是持有对她打开的进程的引用,然后在她自己的程序退出时终止它。你的思路是对的,所以+1。我已经改进了我上面的问题。。你现在能帮我吗?