Process.WaitForExit()不等待多个Chrome实例

时间:2015-03-18 02:23:52

标签: c# .net wpf process

我尝试使用.NET framework 4.0从WPF应用程序启动Chrome,其代码类似于以下内容:

var arg = string.Format("--app=\"{0}\" --window-size=1024,1000", "http://bing.com");
this._process = Process.Start("chrome.exe", arg);
this._process.WaitForExit();
// Perform relevant operations once the process completes/ exit

我在应用模式下打开Chrome。

案例1 :当我没有打开其他Chrome实例/窗口时,WaitForExit会阻止控件直到通过代码创建的Chrome窗口关闭 - 这就是我正在寻找的内容。

案例2 :如果我已经运行了Chrome实例。然后它不会等待通过代码创建的chrome实例退出并转到下一行。我希望获得与案例1类似的体验,即在用户关闭chrome实例之前应该阻止控件。

当我已经打开了多个Chrome实例时,我还需要做些什么才能让它正常工作?

2 个答案:

答案 0 :(得分:0)

您可以使用Process.GetProcessesByName获取所有打开的chrome进程,并为每个进程调用WaitForExit

答案 1 :(得分:-2)

Process.Start(@"%AppData%\..\Local\Google\Chrome\Application\chrome.exe", 
              "http:\\www.YourUrl.com");

您也可以尝试使用dis

 Process.Start("chrome", @"http://www.stackoverflow.net/");