打开一个Internet Explorer Windows,其中包含完全3个选项卡

时间:2012-11-15 19:33:15

标签: c# internet-explorer firefox shdocvw

我正在与同事一起开展一个项目,我们一直在我们的办公桌上试图弄清楚这个问题。我们的要求是使用一个网页弹出一个新的Internet Explorer浏览器,然后为其添加两个选项卡。我们找到了一个可以在我的同事的计算机上运行的解决方案,但是当我们在我的计算机和另一个同事的计算机上进行尝试时,它将无法正常工作。到目前为止我们有什么:

using SHDocVw;

...

ShellWindows iExplorerInstances = new ShellWindows();    
Process.Start("IExplore.exe", "www.reddit.com");
Thread.Sleep(5000);
string url = "http://www.google.com";
IEnumerator enumerator = iExplorerInstances.GetEnumerator();
enumerator.MoveNext();
InternetExplorer iExplorer = (InternetExplorer)enumerator.Current;
iExplorer.Navigate(url, 0x800); //0x800 means new tab 
url = "http://www.banana.com";
enumerator = iExplorerInstances.GetEnumerator();
enumerator.MoveNext();
iExplorer = (InternetExplorer)enumerator.Current;
iExplorer.Navigate(url, 0x800); //0x800 means new tab 

同样,这只适用于他的电脑。对我来说,当我尝试运行此代码时,它会正确打开Internet Explorer浏览器,但即使我使用的是InternetExplorer对象,它也会打开Firefox中的选项卡。我深入研究了这个课程并尝试打印出我能找到的任何有用的东西。我的InternetExplorer对象中的name属性是“Windows资源管理器”。我更多地了解了ShellWindows实际上做了什么,这是有道理的,但它对我没有帮助。这似乎意味着它通过InternetExplorer对象而不是Internet Explorer打开我的默认浏览器。我的同事将Chrome作为默认浏览器也有不同的结果。我将默认浏览器切换到Chrome以查看是否存在问题,但随后在Chrome中打开了两个额外的标签。我真正需要的是打开一个Internet Explorer浏览器,其中包含3个标签,每个标签都有自己的URL。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

看起来这个家伙有你想要的解决方案:

Launch a URL in a tab in an existing IE window from C#