3

在 Visual Studio 2010 中,使用 c#;

我打开浏览器:

private IE browser;

private void Set_Browser()
{
    string splashUrl = "google.com";
    browser= new IE(splashUrl);
}

如果用户(人)不小心关闭了浏览器,那么我的应用程序将无法再工作。

问题:

  1. 那么如何检查用户是否手动关闭了浏览器?
  2. 我能否通过将浏览器作为控件添加到我的应用程序 GUI 来让用户关闭浏览器?[使用 Windows 窗体]
  3. -> 我该怎么做?

与这篇文章相关的最后一个问题如何将 watin 与 WebBrowser 控件一起使用?(2岁,但也没有像样的答案)

编辑:给出 URL 中的解决方案似乎有效。问题是,如果我尝试将 WebBrowser.ActivateX.. 作为对象发送给其他类。然后我的 browser = new IE(..) 返回 null。当我在表单类中实例化它时它确实有效。有什么解决办法吗?

4

2 回答 2

3

您可以每隔 x 秒搜索一次 internet explorer 的进程,并使用以下代码查看浏览器是否已在运行:

    bool isRunning = false;
    foreach (Process clsProcess in Process.GetProcesses()) {
            if (clsProcess.ProcessName.Contains("iexplore"))
            {
                    isRunning = true;
                    break;
            }
    }

你可以使用这篇文章

或者您可以使用本文将浏览器控件添加到您的应用程序

于 2012-12-30T14:28:02.950 回答
0

您可以做的一件事是隐藏浏览器以避免用户关闭它。请参阅这个 SO question。

运行 WatiN 时隐藏 Internet Explorer

于 2012-12-30T15:22:34.487 回答