ユーザーのマシン上の古い MS-DOS アプリケーションを検出するために、一般的なこの方法では、次のようなコードを使用して Program Files フォルダーをチェックします。
FileInfo( System.Environment.GetFolderPath( System.Environment.SpecialFolder.ProgramFiles) + @"\MyInstalledApp" )
これは Windows で動作しますが、 XP および 32 ビット Vista では、コードがアプリケーションが通常インストールされる Program Files x86 フォルダーではなく 64 ビット Program Files フォルダーを返すため、64 ビット Vista では失敗します。
プログラムによるプログラム ファイルの x86 パス
この問題に対処するには、パスを返すプログラムによる解決策が必要です。システム構成に関係なく、Program Files x86 フォルダーに保存されます。次の関数はこの要件を満たします。
static string ProgramFilesx86() { if( 8 == IntPtr.Size || (!String.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITECTUREW6432")))) { return Environment.GetEnvironmentVariable("ProgramFiles(x86)"); } return Environment.GetEnvironmentVariable("ProgramFiles"); }
この関数は、システムのビット数と特定の環境変数の存在を考慮して、目的のフォルダーへのパスを識別して返します。次の構成を処理します:
以上が64 ビット Windows でプログラム ファイル (x86) パスを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。