2

我正在和一位同事一起做一个项目,我们一直在努力解决这个问题。我们的要求是让一个新的 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 Explorer”。我阅读了更多关于 ShellWindows 实际所做的事情,这是有道理的,但这对我没有帮助。这似乎意味着它通过 InternetExplorer 对象而不是 Internet Explorer 打开我的默认浏览器。我的同事将 Chrome 作为默认浏览器,我也得到了不同的结果。我将默认浏览器切换到 Chrome 以查看是否是问题所在,但随后在 Chrome 中打开了两个额外的选项卡。我真正需要的是打开一个带有 3 个选项卡的 Internet Explorer 浏览器,每个选项卡都有自己的 URL。任何帮助是极大的赞赏。

4

1 回答 1

0

看起来这个人有你正在寻找的解决方案:

从 C# 在现有 IE 窗口的选项卡中启动 URL

于 2012-11-15T19:57:33.050 回答