ホームページ >バックエンド開発 >C++ >64 ビット Windows でプログラム ファイル (x86) の場所を確認する方法

64 ビット Windows でプログラム ファイル (x86) の場所を確認する方法

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-30 16:57:14331ブラウズ

How to Programmatically Determine the Program Files (x86) Location in 64-bit Windows?

Windows 64 ビットでのプログラム ファイル (x86) の場所の決定

アプリケーションの存在を検出するために、`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 プログラム ファイル ディレクトリを確実に返します。

  • 32 ビットWindows
  • 64 ビット Windows 上で実行される 32 ビット プログラム
  • 64 ビット Windows 上で実行される 64 ビット プログラム

以上が64 ビット Windows でプログラム ファイル (x86) の場所を確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。