ホームページ > バックエンド開発 > C++ > 64 ビット Windows でプログラム ファイル (x86) パスを確実に取得する方法

64 ビット Windows でプログラム ファイル (x86) パスを確実に取得する方法

Linda Hamilton
リリース: 2024-12-28 04:51:10
オリジナル
300 人が閲覧しました

How to Reliably Get the Program Files (x86) Path in 64-bit Windows?

C を使用した 64 ビット Windows でのプログラム ファイル (x86) パスの取得

インストールされているプログラムの場所を特定することは、特に 64 ビット Windows では困難な場合があります。デフォルトの Program Files フォルダーには、x86 互換プログラムが含まれていない可能性があります。この問題により、Program Files (x86) ディレクトリへのパスをプログラムで取得する解決策を見つけることが求められます。

提供されたコード スニペットでは、指定されたフォルダー パスは、Program Files (x86) ディレクトリにインストールされているプログラムを検出できません。 64 ビット Windows Vista。これは、コードが x64 Program Files フォルダーへのパスを返すのに対し、目的のアプリケーションは x86 バージョンに存在するためです。

解決策

この問題に対処するために、カスタム関数が導入されています。

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

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

この関数は、次の Program Files (x86) ディレクトリへのパスを効果的に返します。シナリオ:

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

この関数は IntPtr.Size とPROCESSOR_ARCHITEW6432 環境変数を使用して、システムのアーキテクチャを決定します。アーキテクチャが x64 の場合は、Program Files (x86) フォルダーへのパスを取得し、それ以外の場合は、32 ビット Program Files フォルダーへのパスを返します。

この関数を使用することで、開発者は、 64 ビット Windows システムの Program Files (x86) ディレクトリ。これにより、プログラムが x86 互換アプリケーションを正しく検出して操作できるようになります。

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

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