2

我正在开发一个使用 IE 显示其帮助页面的程序。我在 Visual Studio 2008 中使用 C# 编译为 .Net Framework 2.0 在 Windows XP 中一切正常。在 Vista 中,每次单击帮助按钮时,都会出现一个带有新 IE 浏览器的新窗口。有没有其他人看到这个或知道如何解决这个问题?

这是我用来显示页面的代码。strDefault 是我要加载的 html 帮助文件的位置。并且所有的标志、postData 和 Headers 都是空的。目标框架是空白的,因为这只是加载主页,之后我有代码来加载特定框架。这部分工作正常。在 Vista 中打开一个新窗口的是 Navigate 方法。我尝试使用一些标志选项无济于事。

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);
4

2 回答 2

1

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

于 2010-02-26T21:16:12.103 回答
1

查看IEInternals 博客中的Windows 7 上使用 WebBrowser 控件的 In-Place Shell Navigation 。这不是完全相同的问题(或者至少我不这么认为!),但希望它能为您指明正确的答案。

于 2010-02-26T21:21:57.833 回答