是在Windows注册表的卸载密钥下查看的最佳方式吗? 是否有Microsoft API调用提供此信息,是否从XP开始支持?
检测本地计算机上安装的Internet Explorer版本的最佳方法是什么?
答案 0 :(得分:21)
您必须查看注册表,但不能在卸载密钥中查找。代替,
在HKLM\Software\Microsoft\Internet Explorer
找到密钥并读取名为Version
的值。
对于较新版本(IE 10及更高版本),Version
为9.x(例如,IE 10为9.10.something),新svcVersion
值给出真正的IE版本。< / p>
微软甚至推荐这种技术;见here。
答案 1 :(得分:4)
如果您需要在网络应用程序中了解IE版本,您可以获取用户代理或使用javascript:
您在这里获得了一个如何获取Internet Explorer版本的Microsoft示例 http://msdn.microsoft.com/en-us/library/ms537509(VS.85).aspx
如果您需要使用X语言将IE版本检测到桌面程序,则需要阅读Windows注册表
此注册表项HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer
包含IE版
Version
答案 2 :(得分:4)
版本值似乎不包含您可能需要的Internet Explorer版本信息。相反,请查看svcVersion或svcUpdateVersion以获取信息。
作为示例,我正在运行IE 10,如果我查询版本注册表值9.10.9200.16798,但是如果我查询svcUpdateVersion 10.0.13则返回。后者对应于实际的Internet Explorer版本,即10。
REG QUERY“HKLM \ Software \ Microsoft \ Internet Explorer”/ v Version HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Internet Explorer 版本REG_SZ 9.10.9200.16798
REG QUERY“HKLM \ Software \ Microsoft \ Internet Explorer”/ v svcUpdateVersion HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Internet Explorer svcUpdateVersion REG_SZ 10.0.13
REG QUERY“HKLM \ Software \ Microsoft \ Internet Explorer”/ v svcVersion HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Internet Explorer svcVersion REG_SZ 10.0.9200.16798
答案 3 :(得分:1)
我想挑战检查注册管理机构的传统智慧。考虑System.Windows.Forms.WebView.Version的参考来源:
string mshtmlPath =
Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "mshtml.dll");
FileVersionInfofvi = FileVersionInfo.GetVersionInfo(mshtmlPath);
return new Version(
fvi.FileMajorPart, fvi.FileMinorPart, fvi.FileBuildPart, fvi.FilePrivatePart);
据推测,写WebView
班的人知道他们在做什么。
答案 4 :(得分:0)
您还可以使用此脚本了解多台计算机上的IE版本:
stringArray = stringArray.sorted(by: {
switch ($0.hasPrefix(searchTerm), $1.hasPrefix(searchTerm) {
case (true, true): return $0 < $1 ;
case (true, false): return true ;
case (false, true): return false ;
case (false, false): return $0 < $1
}})
在文件中:@Echo off
Cls
MD C:\SYSADMIT > NUL
Echo. > c:\SYSADMIT\Resultados.txt
SET ListaEquipos=C:\SYSADMIT\ListaEquipos.txt
For /F "Tokens=*" %%z In (%ListaEquipos%) Do (
echo %%z >> c:\SYSADMIT\Resultados.txt
reg query "\\%%z\hklm\Software\Microsoft\Internet Explorer" /v svcVersion >> c:\SYSADMIT\Resultados.txt
)
,有一个计算机列表。
还需要检查目标计算机上启用的ListaEquipos.txt
服务。
摘自:http://www.sysadmit.com/2017/08/windows-buscar-version-de-internet-explorer-en-equipo-remoto.html