代码之家  ›  专栏  ›  技术社区  ›  Jack

如何让shdocvw.internetexplorer像在xp中那样在vista中重用相同的窗口?

  •  2
  • Jack  · 技术社区  · 15 年前

    我正在开发一个使用IE显示帮助页面的程序。我在Visual Studio 2008中使用C在Windows XP中编译为.NET Framework 2.0,一切都按预期工作。在Vista中,每次我点击一个帮助按钮,我都会得到一个新的窗口和一个新的IE浏览器。有没有其他人看到这个或知道如何绕过这个?

    这是我用来显示页面的代码。strdefault是我试图加载的HTML帮助文件的位置。所有标志、postdata和头都是空的。目标框架是空白的,因为它只加载主页面,我在这之后有代码来加载特定的框架。这部分工作得很好。它是在Vista中打开新窗口的导航方法。我尝试过使用一些标志选项,但没有用。

    SHDocVw.InternetExplorer myIE = new SHDocVw.InternetExplorer();
    string strDefault = "Frame.htm"
    object Flags = new object();
    object TargetFrameName = new object();
    object PostData = new object();
    object Headers = new object();
    myIE.Navigate(strDefault, ref Flags, ref TargetFrameName, ref PostData, ref Headers);
    
    2 回复  |  直到 15 年前
        1
  •  1
  •   Rob    15 年前

    看看 In-Place Shell Navigation with the WebBrowser Control on Windows 7 来自IEInternals博客。这不是完全相同的问题(或者至少我不认为是!)但希望它能给你指明正确的答案。

        2
  •  1
  •   Payton Byrd    15 年前

    IE与Vista操作系统的工作方式发生了根本性的变化,包括新的浏览器请求发生在新的进程中,而不是相同的进程中。另外,你在使用IE8吗?如果是这样,则每个选项卡在同一窗口中运行在自己的进程中。

    推荐文章