2013-01-13 42 views
5

Tôi chỉ sử dụng C# thông thường không phải ASP.NET. Tôi đã tự hỏi nếu tôi có thể nhận được phiên bản dành cho Chrome và Firefox. Tôi biết cho IE bạn có thể nhận được phiên bản thông qua đăng ký. Từ những gì tôi có thể nói với Chrome và Firefox không lưu trữ thông tin đó trong registry.Tải xuống phiên bản Chrome và Firefox cục bộ, C#

Xin cảm ơn trước.

Trả lời

7

Nếu bạn biết đường dẫn đầy đủ của một ứng dụng, thì bạn có thể sử dụng lớp System.Diagnostics.FileVersionInfo để nhận số phiên bản.

Dưới đây là một ứng dụng giao diện điều khiển đơn giản mà đọc các đường dẫn cài đặt của Chrome và Firefox từ registry, và kết quả đầu ra số phiên bản của họ:

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); 
    } 
} 

Mẫu đầu ra:

Chrome: 24.0.1312.52 
Firefox: 16.0.2 
+0

phiên bản hệ điều hành nào mà bạn kiểm tra cái này trên? – Rizowski

+0

Windows 7, 64 bit. Tôi đã sử dụng đích nền tảng mặc định của x86 cho ứng dụng giao diện điều khiển (nếu không, có lẽ tôi sẽ phải chỉ định nút đăng ký Wow6432Node cho Firefox, vì Firefox là 32 bit). –

+1

Các chrome.exe cho tôi (Windows 7 64bit) đã được trên HKEY_LOCAL_MACHINE thay vì HKEY_CURRENT_USER, cũng có thể kiểm tra cả hai địa điểm chỉ trong trường hợp, phải không? –

Các vấn đề liên quan