为了检测用户计算机上的旧 MS-DOS 应用程序,方法涉及使用如下代码检查 Program Files 文件夹:
FileInfo( System.Environment.GetFolderPath( System.Environment.SpecialFolder.ProgramFiles) + @"\MyInstalledApp" )
虽然这适用于 Windows XP 和32 位 Vista 上,它在 64 位 Vista 上失败,因为代码返回 64 位 Program Files 文件夹,而不是通常安装应用程序的 Program Files x86 文件夹。
检索 Program Files以编程方式设置 x86 路径
要解决此问题,需要一个编程解决方案来返回 Program Files x86 文件夹的路径,无论系统配置。以下函数满足此要求:
static string ProgramFilesx86() { if( 8 == IntPtr.Size || (!String.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITECTUREW6432")))) { return Environment.GetEnvironmentVariable("ProgramFiles(x86)"); } return Environment.GetEnvironmentVariable("ProgramFiles"); }
此函数通过考虑系统的位数和特定环境变量的存在来识别并返回所需文件夹的路径。它处理以下配置:
以上是如何以编程方式检索 64 位 Windows 上的程序文件 (x86) 路径?的详细内容。更多信息请关注PHP中文网其他相关文章!