我正在开发一个使用IE显示其帮助页面的程序。我在Visual Studio 2008中使用C#编译为.Net Framework 2.0在Windows XP中,一切都按预期工作。在Vista中,每次单击帮助按钮,我都会看到一个带有新IE浏览器的新窗口。有没有人看过这个或知道如何解决这个问题?
以下是我用来显示页面的代码。 strDefault是我试图加载的html帮助文件的位置。并且所有标志,postData和Headers都是空的。目标框架是空白的,因为这只是加载主页面,我在此之后有代码加载特定的框架。这部分工作正常。 Navigate方法是在Vista中打开一个新窗口。我尝试过使用一些Flag选项无济于事。
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);
答案 0 :(得分:1)
IE如何与Vista一起使用操作系统有一些根本性的变化,包括新浏览器请求发生在新进程而不是相同进程的事实。另外,你使用的是IE8吗?如果是这样,每个选项卡都在同一个窗口中运行它自己的进程。
答案 1 :(得分:1)
从IEInternals博客中查看In-Place Shell Navigation with the WebBrowser Control on Windows 7。这不是完全相同的问题(或者至少我认为不是这样!),但希望它会指出你正确的答案。