C# - 如何在Windows 64位上获取程序文件(x86)

我正在使用:


FileInfo(

    System.Environment.GetFolderPath(

        System.Environment.SpecialFolder.ProgramFiles) 

    + @"\MyInstalledApp"

为了确定是否在用户机器上检测到程序(这不是理想的,但我正在寻找的程序是MS-DOS应用程序的正确旧程序,我想不出另一种方法)。


在Windows XP和32位版本的Windows Vista上,这可以正常工作。但是,在x64 Windows Vista上,代码返回x64 Program Files文件夹,而应用程序安装在Program Files x86中。有没有办法以编程方式返回程序文件x86的路径,而无需硬连线“C:\ Program Files(x86)”?


翻翻过去那场雪
浏览 849回答 3
3回答

杨__羊羊

如果您使用的是.NET 4,则会有一个特殊的文件夹枚举ProgramFilesX86:Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86)

至尊宝的传说

Environment.GetEnvironmentVariable("PROGRAMFILES(X86)") ?? Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)
打开App,查看更多内容
随时随地看视频慕课网APP