ホームページ > バックエンド開発 > C++ > 64 ビット Windows で「Program Files (x86)」パスを確実に取得する方法

64 ビット Windows で「Program Files (x86)」パスを確実に取得する方法

Patricia Arquette
リリース: 2024-12-29 20:16:15
オリジナル
863 人が閲覧しました

How to Reliably Get the

Windows 64 ビット システムでの「Program Files (x86)」パスの取得

ユーザーのマシン上のソフトウェアの存在を確認しようとするとき、パスを使用します。 System.Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFiles)MyInstalledApp は、 64 ビット Windows Vista では不正確になる可能性があります。これは、問題のアプリケーションが「Program Files (x86)」に存在するのに対し、コードは x64 の「Program Files」フォルダーを返すためです。

この問題を軽減するには、次の関数を使用できます。すべての構成にわたる x86 "Program Files" ディレクトリを返します:

static string ProgramFilesx86()
{
    if (8 == IntPtr.Size ||
        (!String.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432"))))
    {
        return Environment.GetEnvironmentVariable("ProgramFiles(x86)");
    }

    return Environment.GetEnvironmentVariable("ProgramFiles");
}
ログイン後にコピー

この例ではfunction:

  • IntPtr.Size == 8 条件は、システムが 64 ビットかどうかを検証します。
  • !String.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432")) 条件マシンが 32 ビット プロセスを実行しているかどうかを確認します。基礎となるハードウェア アーキテクチャに関係なく、64 ビット オペレーティング システム。
  • これらの条件のいずれかが true の場合、関数は環境変数 ProgramFiles(x86) から取得した x86 "Program Files" フォルダー パスを返します。それ以外の場合は、デフォルトの「Program Files」パスを返します。

以上が64 ビット Windows で「Program Files (x86)」パスを確実に取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート