首页 > 后端开发 > C++ > 如何以编程方式确定 64 位 Windows 中的程序文​​件 (x86) 位置?

如何以编程方式确定 64 位 Windows 中的程序文​​件 (x86) 位置?

Linda Hamilton
发布: 2024-12-30 16:57:14
原创
326 人浏览过

How to Programmatically Determine the Program Files (x86) Location in 64-bit Windows?

Windows 64 位中的程序文​​件 (x86) 位置确定

在尝试检测应用程序是否存在时,您正在使用 `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 目录:

  • 32 位 Windows
  • 32 位程序在 64 位 Windows 上运行
  • 在 64 位 Windows 上运行的 64 位程序

以上是如何以编程方式确定 64 位 Windows 中的程序文​​件 (x86) 位置?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板