【问题标题】:How do I detect which version of Internet Explorer is installed?如何检测安装了哪个版本的 Internet Explorer?
【发布时间】:2010-08-24 06:28:22
【问题描述】:

在 Windows 注册表的卸载键下查看是不是最好的方法? 是否有提供此信息的 Microsoft API 调用?是否从 XP 开始支持?

检测本地计算机上安装了哪个版本的 Internet Explorer 的最佳方法是什么?

【问题讨论】:

    标签: windows internet-explorer browser


    【解决方案1】:

    您必须查看注册表,而不是卸载键。反而, 在HKLM\Software\Microsoft\Internet Explorer 找到密钥并读取名为Version 的值。

    对于较新的版本(IE 10 及更高版本),Version 是 9.x(例如,IE 10 是 9.10.something),新的 svcVersion 值给出了真正的 IE 版本。

    微软甚至推荐了这种技术;见here。

    【讨论】:

    • 令人惊讶的是,没有用于此的 API,并且检查此注册表项通常被认为是最佳选择。
    • 链接(可能)已损坏
    【解决方案2】:

    如果您需要知道 IE 版本到 Web 应用程序中,您可以获取 User-Agent 或使用 javascript:

    您在这里获得了有关如何获取 Internet Explorer 版本的 Microsoft 示例 http://msdn.microsoft.com/en-us/library/ms537509(VS.85).aspx

    如果您需要将 IE 版本检测到 X 语言的桌面程序中,您需要读取 Windows 注册表

    此注册表项HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer 包含属性Version 与IE 版本

    【讨论】:

      【解决方案3】:

      版本值似乎不包括您最可能需要的 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 版本 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

      【讨论】:

        【解决方案4】:

        我想挑战检查注册表的传统智慧。考虑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 类的人知道他们在做什么。

        【讨论】:

          【解决方案5】:

          您还可以使用此脚本了解多台计算机上的 IE 版本:

          @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,有一个计算机列表。

          还需要检查目标计算机上启用的RemoteRegistry服务。

          摘自:http://www.sysadmit.com/2017/08/windows-buscar-version-de-internet-explorer-en-equipo-remoto.html

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2018-02-15
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2023-03-25
            • 1970-01-01
            • 2012-06-25
            • 2013-03-16
            相关资源
            最近更新 更多