5
私はASP.NETを使用していない通常のC#を使用しています。私はChromeとFirefoxのバージョンを入手できるかどうか疑問に思っていました。私はあなたがレジストリを介してバージョンを得ることができるIEのために知っている。私はChromeとFirefoxがその情報をレジストリに保存しないと言うことができます。ローカルでChromeとFirefoxのバージョンを取得するC#
ありがとうございます。
私はASP.NETを使用していない通常のC#を使用しています。私はChromeとFirefoxのバージョンを入手できるかどうか疑問に思っていました。私はあなたがレジストリを介してバージョンを得ることができるIEのために知っている。私はChromeとFirefoxがその情報をレジストリに保存しないと言うことができます。ローカルでChromeとFirefoxのバージョンを取得するC#
ありがとうございます。
アプリケーションの完全なパスが分かっている場合は、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
あなたのテストをやったOSのバージョンこれは? – Rizowski
Windows 7,64ビット。私はコンソールアプリケーションのためにx86のデフォルトのプラットフォームターゲットを使用しました(そうでなければ、Firefoxは32ビットなので、Firefox用のWow6432Nodeレジストリノードを指定しなければならなかったでしょう)。 –
私のためのchrome.exe(Windows 7 64bit)は、HKEY_CURRENT_USERの代わりにHKEY_LOCAL_MACHINE上にありました。 –