Internet explorer 如何让SHDocVw.InternetExplorer像在XP中一样在Vista中重用相同的窗口?

Internet explorer 如何让SHDocVw.InternetExplorer像在XP中一样在Vista中重用相同的窗口?,internet-explorer,windows-vista,shdocvw,Internet Explorer,Windows Vista,Shdocvw,我正在开发一个使用IE显示其帮助页面的程序。我正在使用Visual Studio 2008中的C#编译到Windows XP中的.Net Framework 2.0,一切正常。在Vista中,每次单击“帮助”按钮,我都会看到一个带有新IE浏览器的新窗口。有没有其他人看到了这一点,或者知道如何绕过这一点 下面是我用来显示页面的代码。strDefault是我试图加载的html帮助文件的位置。所有的标志、postData和头都是空的。目标帧是空白的,因为这只是加载主页面,我有代码在此之后加载特定帧。这

我正在开发一个使用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);

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

请查看IEInternals博客。这不是完全相同的问题(或者至少我不这么认为!),但希望它能为您指出正确的答案。

这可能与IE本身有关。Vista有版本7。你在XP上使用的是哪个版本?在Vista上使用的是哪个版本的IE?在XP上是IE 7,在Vista上是IE 8。我会在XP上试用IE8,看看它是否有什么不同。我在我的XP机器上安装了IE8,效果很好。所以这绝对是XP和Vista的问题。现在我刚刚为NewTab设置了标志。至少我可以把它们都放在一个窗口里。似乎当前选项卡没有标记,因为这是XP中的默认行为。Windows vista中的默认行为已更改为“新建窗口”,但从未添加CurrentTab标志。