在尝试检测应用程序是否存在时,您正在使用 `FileInfo(
System.Environment.GetFolderPath( System.Environment.SpecialFolder.ProgramFiles) + @"\MyInstalledApp"
)`。虽然此方法对于 32 位 Windows 版本来说足够了,但它在 x64 Windows Vista 中遇到问题,它会检索 x64 Program Files 文件夹而不是预期的 Program Files (x86) 位置。
为了解决此问题,我们需要找到一种编程方法来检索 Program Files (x86) 的路径,而无需诉诸硬编码“C: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"); }
此函数在三种不同的情况下可靠地返回 x86 Program Files 目录:
以上是如何以编程方式确定 64 位 Windows 中的程序文件 (x86) 位置?的详细内容。更多信息请关注PHP中文网其他相关文章!