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
Nguồn
2013-01-13 03:21:10
phiên bản hệ điều hành nào mà bạn kiểm tra cái này trên? – Rizowski
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). –
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? –