【问题标题】:Getting Chrome and Firefox version locally, C#在本地获取 Chrome 和 Firefox 版本,C#
【发布时间】:2012-12-27 06:54:16
【问题描述】:

我只是使用常规的 C# 而不是 ASP.NET。我想知道我是否可以获得 Chrome 和 Firefox 的版本。我知道对于 IE,您可以通过注册表获取版本。据我所知,Chrome 和 Firefox 不会将该信息存储在注册表中。

提前致谢。

【问题讨论】:

    标签: c# .net google-chrome firefox registry


    【解决方案1】:

    如果您知道应用程序的完整路径,那么您可以使用System.Diagnostics.FileVersionInfo 类来获取版本号。

    这是一个简单的控制台应用程序,它从注册表中读取 Chrome 和 Firefox 的安装路径,并输出它们的版本号:

    using System;
    using System.Diagnostics;
    using Microsoft.Win32;
    
    class Program
    {
        static void Main(string[] args)
        {
            object path;
            path = Registry.GetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths\chrome.exe", "", null);
            if (path != null)
                Console.WriteLine("Chrome: " + FileVersionInfo.GetVersionInfo(path.ToString()).FileVersion);
    
            path = Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\firefox.exe", "", null);
            if (path != null)
                Console.WriteLine("Firefox: " + FileVersionInfo.GetVersionInfo(path.ToString()).FileVersion);
        }
    }
    

    示例输出:

    Chrome: 24.0.1312.52
    Firefox: 16.0.2
    

    【讨论】:

    • 你在哪个操作系统版本上测试过这个?
    • Windows 7,64 位。我为控制台应用程序使用了 x86 的默认平台目标(否则,我可能不得不为 Firefox 指定 Wow6432Node 注册表节点,因为 Firefox 是 32 位的)。
    • 我的 chrome.exe(Windows 7 64 位)位于 HKEY_LOCAL_MACHINE 而不是 HKEY_CURRENT_USER,不妨检查这两个位置以防万一,对吧?
    • @trukin:如果是这样,那么是的。显然 Chrome 提供了按用户或按机器安装的选项。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-15
    • 1970-01-01
    • 2020-12-19
    • 2011-11-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多