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

C# 检查浏览器是否手动关闭,c#,internet-explorer,browser,instance,watin,C#,Internet Explorer,Browser,Instance,Watin,在VisualStudio2010中,使用c# 我打开浏览器时使用: private IE browser; private void Set_Browser() { string splashUrl = "google.com"; browser= new IE(splashUrl); } 如果用户(个人)意外关闭浏览器,则我的应用程序将无法再工作 问题: 那么,如何检查用户是否手动关闭了浏览器 我是否可以通过将浏览器添加到我的浏览器中来阻止用户关闭浏览器 应用程序GUI作

在VisualStudio2010中,使用c#

我打开浏览器时使用:

private IE browser;

private void Set_Browser()
{
    string splashUrl = "google.com";
    browser= new IE(splashUrl);
}
如果用户(个人)意外关闭浏览器,则我的应用程序将无法再工作

问题:

  • 那么,如何检查用户是否手动关闭了浏览器
  • 我是否可以通过将浏览器添加到我的浏览器中来阻止用户关闭浏览器 应用程序GUI作为控件?[使用Windows窗体]
  • ->我该怎么做
  • 最后一个与本帖相关的问题(2岁,但也没有像样的答案)


    编辑:giveURL中的解决方案似乎有效。问题是如果我尝试发送WebBrowser.ActivateX。。作为其他类的对象。然后我的浏览器=新IE(..)返回null。但是,当我在form类中实例化它时,它确实可以工作。有解决方案吗?

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

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


    或者,您可以使用将浏览器控件添加到应用程序中,您可以做的一件事是隐藏浏览器以避免用户关闭它。。看看这个问题


    ty对于链接Sawan,提到了一些有趣的功能。但是,提到了与WatiN相关的注意事项,以及将其作为windows控制器实现的方法。这是否也包括仅关闭相关选项卡而不关闭浏览器本身的情况?嗯,不需要进一步研究:)Ty回复,但这还不够。如果我关闭由WatiN实例化的浏览器并手动打开一个新的IE,程序将崩溃。因为它找不到特定选项卡,即使有IE实例正在运行。关于文章,您可以将Webbrowser类的实例作为控件添加到GUI中。但我不知道(也没有提到)如何将WatiN的IE(网络浏览器)安装添加到我的控制中