首页 > 后端开发 > C++ > 如何在 64 位 Windows 上可靠地获取'Program Files (x86)”路径?

如何在 64 位 Windows 上可靠地获取'Program Files (x86)”路径?

Patricia Arquette
发布: 2024-12-29 20:16:15
原创
862 人浏览过

How to Reliably Get the

在 Windows 64 位系统中获取“Program Files (x86)”路径

尝试确定用户计算机上是否存在软件时,使用该路径System.Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFiles)MyInstalledApp 可能会导致64 位 Windows Vista 上不准确。这是因为代码返回 x64“Program Files”文件夹,而相关应用程序驻留在“Program Files (x86)”中。

为了缓解此问题,您可以使用以下函数,该函数将始终如一地返回所有配置中的 x86“Program Files”目录:

static string ProgramFilesx86()
{
    if (8 == IntPtr.Size ||
        (!String.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432"))))
    {
        return Environment.GetEnvironmentVariable("ProgramFiles(x86)");
    }

    return Environment.GetEnvironmentVariable("ProgramFiles");
}
登录后复制

在此函数中:

  • IntPtr.Size == 8 条件验证系统是否为 64 位。
  • !String.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432")) 条件检查计算机是否正在运行 32 位进程64 位操作系统,无论底层硬件如何Architecture.
  • 如果这些条件之一为真,则该函数返回从环境变量 ProgramFiles(x86) 获取的 x86“Program Files”文件夹路径。否则,它将返回默认的“Program Files”路径。

以上是如何在 64 位 Windows 上可靠地获取'Program Files (x86)”路径?的详细内容。更多信息请关注PHP中文网其他相关文章!

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