1

我正在使用这段代码:

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

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

p.WaitForExit();

问题是什么?我只想等它结束。感谢您的任何建议。

4

2 回答 2

2

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

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();
于 2012-07-19T20:24:04.423 回答
0
Process.Start(new ProcessStartInfo()
            {
                UseShellExecute = true,
                FileName = "http://google.com",                
            }).WaitForExit();
于 2012-07-19T19:56:53.450 回答