WaitForExit默认浏览器

时间:2012-07-19 19:53:40

标签: c# browser process processstartinfo waitforexit

我正在使用此代码:

Process p = new Process();
ProcessStartInfo si = new ProcessStartInfo();
si.UseShellExecute = true;
si.FileName = Url;
p = Process.Start(si);
p.WaitForExit();

在默认浏览器中打开“Url”。我想等待用户关闭该浏览器,然后进一步执行代码。但是在IE(我的默认浏览器)中打开Url后,它会抛出一个未设置为对象实例的Object引用并突出显示

p.WaitForExit();

有什么问题?我只是想等到它完成。谢谢你的任何建议。

2 个答案:

答案 0 :(得分:2)

ProcessStartInfo.FileName获取或设置要启动的应用程序或文档。 我所做的是传递FileName中的应用程序路径,因此当Process.Start创建它时会查找Arguments并在您的情况下创建一个实例

Process p = new Process();
ProcessStartInfo si = new ProcessStartInfo();
p.StartInfo = si;
si.UseShellExecute = true;
si.FileName = @"C:\Program Files (x86)\Internet Explorer\iexplore.exe";
si.Arguments = "http://www.stackoverflow.com";
p.Start();
p.WaitForExit();

答案 1 :(得分:0)

Process.Start(new ProcessStartInfo()
            {
                UseShellExecute = true,
                FileName = "http://google.com",                
            }).WaitForExit();