检查浏览器是否手动关闭

时间:2012-12-30 14:22:22

标签: c# internet-explorer browser instance watin

在visual studio 2010中,使用c#;

我打开一个浏览器:

private IE browser;

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

如果用户(个人)意外关闭浏览器,那么我的应用程序将无法再工作。

问题:

  1. 那么如何检查用户是否手动关闭了浏览器?
  2. 我是否可以通过向我的浏览器添加浏览器来关闭浏览器 应用程序GUI作为控件? [使用Windows窗体]
  3. - >我该怎么做?
  4. 与此帖How to use watin with WebBrowser control?相关的最后一个问题(2岁,但也没有正确的答案)

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

2 个答案:

答案 0 :(得分:3)

您可以每x秒搜索一次Internet Explorer的过程,并使用此代码查看浏览器是否已在运行:

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

您可以使用this article

或者您可以使用this article

为您的应用添加浏览器控件

答案 1 :(得分:0)

您可以做的一件事是隐藏浏览器以避免用户关闭它。请参阅此问题。

Hiding Internet Explorer when WatiN is run