2012-11-15 76 views
2

我正與一位同事一起開展一個項目,我們一直在試圖解決這個問題。我們的要求是在一個網頁上彈出一個新的Internet Explorer瀏覽器,然後在其中添加兩個選項卡。我們發現了一個解決方案,可以在我的同事的電腦上工作,但是當我們在我的電腦和另一位同事的電腦上嘗試時,它不起作用。我們到目前爲止:打開Internet Explorer Windows,其中包含3個選項卡

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個標籤的Internet Explorer瀏覽器,每個標籤都有自己的URL。任何幫助是極大的讚賞。

+0

您允許打開的文件?如果是這樣,你可以嘗試在一個文件上打開它,然後打開同一個實例中的多個頁面,這應該打開多個選項卡。我不確定這種行爲有多可靠...... – RonaldBarzell

+0

實際的代碼將被嵌入到托盤應用程序中,當滿足某些條件時會彈出這些窗口。它將被安裝在幾臺計算機上,我不確定使用文件將是實現的最佳選擇。 – user1827607

+0

這些是一些奇怪的要求,似乎與良好的用戶體驗相反。你不能把你的數據源結合起來並將它們顯示在一個頁面中嗎? – spender

回答

相關問題