【问题标题】:WaitForExit default browserWaitForExit 默认浏览器
【发布时间】:2012-07-19 01:49:45
【问题描述】:

我正在使用此代码:

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

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

p.WaitForExit();

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

【问题讨论】:

    标签: c# browser process processstartinfo waitforexit


    【解决方案1】:

    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();
    

    【讨论】:

      【解决方案2】:
      Process.Start(new ProcessStartInfo()
                  {
                      UseShellExecute = true,
                      FileName = "http://google.com",                
                  }).WaitForExit();
      

      【讨论】:

      • 它给了我以下错误:没有进程与此对象关联。在 p.waitforexit();
      • 是的,由于某些原因,这不起作用。我已经编辑了我的答案,这似乎可行。
      • 不,它不起作用。我认为这是因为 Internet Explorer 选项卡在不同的进程中分离,但仍然只充当一个应用程序。
      猜你喜欢
      • 2020-05-05
      • 2014-08-10
      • 2012-01-29
      • 2010-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-28
      相关资源
      最近更新 更多