アプリケーションの存在を検出するために、`FileInfo(
を利用しています。 >System.Environment.GetFolderPath( System.Environment.SpecialFolder.ProgramFiles) + @"\MyInstalledApp"
)`。このアプローチは 32 ビット Windows バージョンには適切ですが、x64 Windows Vista では問題が発生し、目的の Program Files (x86) の場所ではなく x64 Program Files フォルダーが取得されます。
これを解決するには、次のようにします。 「C:Program Files」のハードコーディングに頼らずに、Program Files (x86) へのパスを取得するプログラム的な方法を見つける必要があります。 (x86)".
次の関数は、この要件を適切に満たします:
static string ProgramFilesx86() { if( 8 == IntPtr.Size || (!String.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432")))) { return Environment.GetEnvironmentVariable("ProgramFiles(x86)"); } return Environment.GetEnvironmentVariable("ProgramFiles"); }
この関数は、3 つの異なるシナリオで x86 プログラム ファイル ディレクトリを確実に返します。
以上が64 ビット Windows でプログラム ファイル (x86) の場所を確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。