C# 尝试强制转换到SHDocVw.IWebBrowser2时拒绝访问

C# 尝试强制转换到SHDocVw.IWebBrowser2时拒绝访问,c#,internet-explorer-10,internet-explorer-11,shdocvw,C#,Internet Explorer 10,Internet Explorer 11,Shdocvw,这个问题出现在IE10+上(我使用的是IE11)。在IE9中,以下代码不会生成错误 我得到的错误是 MyApp.exe中0x76afc41f(KernelBase.dll)处的首次机会异常:0x80070005:访问被拒绝 下面是发生错误的代码片段 private Browser GetBrowser() { ShellWindows windows = null; IWebBrowser2 shellWindow =null; IHTMLDocument2 actu

这个问题出现在IE10+上(我使用的是IE11)。在IE9中,以下代码不会生成错误

我得到的错误是

MyApp.exe中0x76afc41f(KernelBase.dll)处的首次机会异常:0x80070005:访问被拒绝

下面是发生错误的代码片段

 private Browser GetBrowser()
{

    ShellWindows windows = null;
    IWebBrowser2 shellWindow =null;
    IHTMLDocument2 actualDoc = null;

    windows = new SHDocVw.ShellWindowsClass();
    bool found = false;
    for (int i = 0; i < windows.Count; i++)
    {

        try{
            shellWindow = windows.Item(i) as SHDocVw.IWebBrowser2; //Breaks Here
private Browser GetBrowser()
{
ShellWindows=null;
IWebBrowser2 shellWindow=null;
IHTMLDocument2 actualDoc=null;
windows=new SHDocVw.ShellWindowsClass();
bool-found=false;
对于(int i=0;i
我认为IE10中有某种新的安全特性可能会导致这种情况的发生


其他人有什么想法吗?

为什么不使用web浏览器控件?我无法回答。这是一个相对较大的项目,这只是它的一个方面。在我的公司收购它之前,这段代码是由另一家公司的其他人编写的。我们刚刚从更新一些核心功能转移到了另一家公司ese提供了额外的功能,我们希望尽可能重用代码。我们仍然能够使用类似的方法与IE 10及以上进行交互吗?Hans,我检查了我的设置,但没有启用增强保护模式。