c# - 检查浏览器是否手动关闭

标签 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. -> 我该怎么做?

与这篇文章相关的最后一个问题 How to use watin with WebBrowser control? (2岁,但也没有像样的答案)

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

最佳答案

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

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

您可以使用 this article

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

关于c# - 检查浏览器是否手动关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14091478/

相关文章:

c# - 将 StreamWriter 与 BinaryFormatter 结合使用

c# - OrderByDescending() 根据 MSDN,这到底是什么意思?

javascript - Internet Explorer 本地存储

css - 在 IE 9 中没有任何显示?

html - 用于 IE 中图像 mask 的 SVG

c# - 在 WebBrowser 中欺骗 URL

c# - 从 Controller 的类中获取 MVC Controller 名称

html - 查询字符串技巧过时了吗?

html - 如何在不同的浏览器中使用形状(多边形)?

c# - 列表框中的 StreamReader 和 Writer