2010-11-18 134 views
8

我的Java應用程序需要知道在本地計算機上安裝了哪個版本的IE(如果有),並且查詢註冊表似乎是最簡單的方法。我應該查找什麼註冊表項和值?如何從Windows註冊表獲取IE版本號?

這需要在Windows XP,Windows Server 2003和更高版本上運行。

+0

哇,> 1K視圖和僅一個給予好評! :-) – 2012-02-01 23:00:18

回答

8

在嘗試解決同樣的問題時偶然發現了這個問題。

Andrew從2010年開始的答案是正確的,但自此之後,新的Internet Explorers(10和11)不在註冊表值中顯示其版本號:'版本'。相反,它記錄在註冊表值中:'svcVersion'。

+0

我接受你的答案是比我的原始更新。 – 2014-07-31 08:53:29

+1

今天早上我遇到了這個問題。正確的位置是: 'HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Internet Explorer \ svcUpdateVersion'和'HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Internet Explorer \ svcVersion'。 你可以期望從這樣的值接收數據: 'svcVersion = 11.0.9600.17691'而'svcUpdateVersion = 11.0.7' – Beems 2015-04-03 15:08:35

9

閱讀使用 「REG查詢」 這一關鍵OS命令:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer 

...這個值:

Version 

返回一個數字是這樣的:

8.0.7600.16385 

或者如果該條目不存在,則返回errorCode 1,這可能表明IE沒有安裝。

+1

感謝隊友......它甚至幫助了我......乾杯:) – Makky 2013-03-13 16:55:16

+1

更多的信息在這裏:http://support.microsoft.com/kb/969393 – 2013-05-20 20:10:33

+3

微軟謊言在IE10的版本值,以避免破壞程序只能識別單個數字的版本號。更多(hackish)的方法是檢查IE版本是檢查文件版本mshtml.dll – 2013-09-11 00:06:55

1

在較新的版本的IE 10和11真版本被記錄在值「svcVersion」和值「版本」包含在開頭「9.

+0

jrun1的答案重複嗎? – 2014-07-31 08:52:15

+0

只需解釋_Version_包含的內容。它具有適當的價值,但在** **。**之後*我還不能評論答案。 – Sager 2014-09-17 10:29:22