如何从Windows注册表获取IE版本号?

And*_*wan 8 java windows registry internet-explorer version-numbering

我的Java应用程序需要知道本地机器上安装了哪个版本的IE(如果有的话),并且查询注册表似乎是最简单的方法.我应该查看哪个注册表项和值?

这需要在Windows XP,Windows Server 2003及更高版本上运行.

And*_*wan 9

使用"reg query"OS命令读取此密钥:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer
Run Code Online (Sandbox Code Playgroud)

...具有此值:

Version
Run Code Online (Sandbox Code Playgroud)

返回这样的数字:

8.0.7600.16385
Run Code Online (Sandbox Code Playgroud)

如果该条目不存在,则返回errorCode 1,这可能表示未安装IE.

  • 微软谎言IE10中的版本值,以避免破坏只能识别单个数字版本号的程序.一个更(hackish)方式是检查IE版本是检查mshtml.dll的文件版本 (3认同)

小智 8

在尝试解决同样的问题时偶然发现了这一点.

安德鲁从2010年开始的答案是正确的,但从那以后,新的Internet Explorer(10和11)没有在注册表值中显示他们的真实版本号:'版本'.相反,它记录在注册表值中:'svcVersion'.