8

私が試したクエリ:ExpandEnvironmentStrings("%COMMONPROGRAMFILES%")GetSpecialPath(CSIDL_PROGRAM_FILES_COMMON)

すべてが(通常)c:\\Program Files (x86)\\Common Files私の32ビットアプリから解決されます。c:\\Program Files\\Common Files64ビットアプリケーションの下に(通常)インストールされているファイルのバージョンを確認する必要があります。

4

3 に答える 3

16

64ビットオペレーティングシステムでは、ProgramW6432環境変数はc:\programファイルを指します。英語版のWindowsでの32ビットアプリの完全なリスト:

  • ProgramFiles => c:\ program files(x86)
  • ProgramFiles(x86)=> c:\ program files(x86)
  • ProgramW6432 => c:\programファイル
  • CommonProgramFiles => c:\ program files(x86)\ common files
  • CommonProgramFiles(x86)=> c:\ program files(x86)\ common files
  • CommonProgramW6432 => c:\ program files \ common files

念のために言っておきますが、そのフォルダには32ビットプログラムにとって重要なものが含まれていてはなりません。技術的には。ファイルシステムリダイレクタに注意してください。ファイルリクエストはc:\ programファイルからc:\ programファイル(x86)にリダイレクトされます。そのディレクトリ内のファイルに実際にアクセスしたい場合は、Wow64DisableWow64FsRedirection()を使用する必要があります。

于 2010-03-29T18:31:33.227 に答える
5

%CommonProgramW6432%

于 2010-03-29T17:19:55.413 に答える
-1
static string ProgramFilesx86()
        {
            if (8 == IntPtr.Size
                || (!String.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432"))))
            {
                return Environment.GetEnvironmentVariable("ProgramFiles(x86)");
            }

            return Environment.GetEnvironmentVariable("ProgramFiles");
        }

これはあなたが必要としているものですか?

于 2010-03-29T17:00:49.267 に答える