2013-04-14 90 views
2

當IE10是Windows 8的默認瀏覽器,Internet選項 - >程序 - >選擇您打開鏈接如何設置爲Always in Internet Explorer,當您通過URL打開一個新的進程,它在Metro版本中打開的IE10。的Windows 8打開桌面IE10

周圍有這一點,我能想到的2種方式,但我還沒有找到一種方式,要麼還沒有。

  1. 將參數傳遞給iexplore.exe,它告訴它在桌面上打開。
  2. 以編程方式在註冊表中更改該Internet選項的值,打開該URL,然後將其設置回以前設置的值。

我有一種感覺,#2是我不得不走下來,然而,在HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings尋找在註冊表中我看不到任何東西,甚至會像遠程該設置的路線。

有沒有人之前解決這個問題,可以提供任何見解?

這不是一個道德問題 - 我只需要知道在哪裏設置,或者,如果有一種方法,通過參數來迫使它進入桌面。我真的不需要知道這不理想;我已經充分意識到這一事實。

+0

如果用戶希望網頁在IE的新風格中打開,那就讓他們。不要覆蓋用戶首選項。 –

+1

@RaymondChen謝謝,但這不是一個道德問題 - 它是**要求**,它在桌面模式下打開。我們將應用程序固定在屏幕上進行錄製,併爲用戶提供在瀏覽器中執行的任務,如果它位於Metro中,則無法看到它,因此不能提供良好的用戶體驗。 –

+0

#2也使用全局設置來管理本地問題。如果另一個應用試圖在更改設置之前嘗試打開URL,該怎麼辦?或者,更糟糕的是,如果有人試圖更改默認瀏覽器,然後又將其更改了,該怎麼辦? –

回答

0

How to force IE to open in desktop mode on Windows 8

如果用戶希望它在地鐵站和所有工作在地鐵的時候,將是非常惱人的爲他使用URL時切換回桌面模式。希望這個網頁是你想要的。

+0

這不是我想要的 - 同樣,我知道如何更改設置,因爲它在我的文章中明確指出了該文章中的內容。我需要一種以編程方式強制他們進入桌面的方式,而不是要求他們改變他們的偏好。 –

+0

這就是爲什麼我說(隱含,對不起)它可能是不可能的,因爲它是一個用戶屬性。 – LightStriker

2

現在,我們理解您的方案(自動化測試),我們可以解釋如何正確地做到這一點,它不涉及任何覆蓋用戶設置,甚至是暫時的。即使用戶將默認瀏覽器設置爲Internet Explorer以外的其他瀏覽器,它也可以正常工作。

你要做的就是open an explicit Desktop version of Internet Explorer and navigate it to your site。以下是JavaScript中的一個示例。您可以通過一點點導入來適應C#,或者您可以選擇高級解決方案,並將IE託管在C#應用程序中。

var ie = new ActiveXObject("InternetExplorer.Application"); 
ie.Visible = true; 
ie.Navigate("http://www.microsoft.com/"); 
WScript.Sleep(5000); // five seconds, say 
ie.Quit(); 
+0

這可能工作,但我現在必須檢測IE瀏覽器實際上是他們的默認瀏覽器,首先能夠運行替代代碼。 –

+0

@RudiVisser你已經不得不這樣做,以檢測你需要修改哪個瀏覽器設置(桌面IE與新IE,桌面Firefox與新Firefox等) –

+0

啊是的,但不僅僅是。 Fx還沒有發佈它,並且從我的測試中,Chrome在默認情況下通過URL調用時不會以全屏模式啓動。 –