我正在用c#编写一个程序,以隐身模式创建谷歌浏览器的过程。一切顺利。我想开始这个过程,并在2秒后杀死它(并关闭镀铬窗口)。
String a = textBox1.Text + " --incognito";//Get the link that the user types
process.StartInfo.FileName = @"C:\Program Files (x86)\Google\Chrome\Application\chrome";
process.StartInfo.Arguments =a;
process.Start();
System.Threading.Thread.Sleep(2000);
process.Kill();
它给我一个错误:无法处理请求,因为进程已退出。
并且断点在进程中.Kill();线。
答案 0 :(得分:1)
看起来Chrome进程是一个启动程序,它打开另一个包含chrome浏览器的chrome进程,然后关闭启动程序进程。因此,您正在关闭已经自行关闭的流程。
答案 1 :(得分:-1)
此检查可帮助您防止在终止之前终止该进程。
if( !process.WaitForExit(2000) ) {
if (!process.HasExited) process.Kill();
}