我尝试过的查询:ExpandEnvironmentStrings("%COMMONPROGRAMFILES%")
,GetSpecialPath(CSIDL_PROGRAM_FILES_COMMON)
。
所有解析从我的32位应用程序(通常)c:\\Program Files (x86)\\Common Files
。我需要检查(通常)在64位应用程序的c:\\Program Files\\Common Files
下安装的文件版本。
答案 0 :(得分:15)
在64位操作系统上,ProgramW6432环境变量指向c:\ program files。英文版Windows上32位应用程序的完整列表:
提醒一下:该文件夹不应包含32位程序感兴趣的任何内容。技术上。请注意文件系统重定向器,它会将文件请求从c:\ program files重定向到c:\ program files(x86)。如果您真的想要访问该目录中的文件,则必须使用Wow64DisableWow64FsRedirection()。
答案 1 :(得分:5)
%CommonProgramW6432%
答案 2 :(得分:-1)
static string ProgramFilesx86()
{
if (8 == IntPtr.Size
|| (!String.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432"))))
{
return Environment.GetEnvironmentVariable("ProgramFiles(x86)");
}
return Environment.GetEnvironmentVariable("ProgramFiles");
}
这是你需要的吗?