打开一个只有3个选项卡的Internet Explorer窗口



我和一位同事正在做一个项目,我们一直在努力解决这个问题。我们的要求是让一个新的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中打开。我真正需要的只是打开一个有3个选项卡的InternetExplorer浏览器,每个选项卡都有自己的URL。非常感谢您的帮助。

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

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

最新更新