浏览x64或x32的程序文件

时间:2012-02-22 14:41:13

标签: c#

  

可能重复:
  C# - How to get Program Files (x86) on Vista x64

在C#中处理计算机是否为64位的最佳方法是什么? 目前我在C#中执行以下操作:

bool is64bit = false;

在主要方法中:

if (Directory.Exists("C:\\Program Files (x86)"))
{
    is64bit = true;
}

那么有更好的方法来处理程序文件吗?正如稍后当我调用一个默认安装在Program Files中的进程时,是否有一个我可以使用的快捷方式,然后查看它是否存在?

3 个答案:

答案 0 :(得分:2)

只需使用%ProgramFiles%环境变量。

如果在64位系统上运行,取决于您的应用程序是在32位还是64位模式下运行,它将适当地返回C:\Program Files (x86)C:\Program Files(假设用户没有更改位置。)

答案 1 :(得分:0)

点击此链接:http://msdn.microsoft.com/en-us/library/system.environment.aspx

您可以使用以下代码行来确定操作系统是64位还是非编程:

bool Is64Bit = System.Environment.Is64BitOperatingSystem;

答案 2 :(得分:-1)

试试这个:

public static bool IsX64()
        {
            if (8 == IntPtr.Size
                || (!String.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432"))))
            {
                return true;
            }
            return false;
        }

也可以特别使用:

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

            return Environment.GetEnvironmentVariable("ProgramFiles");
        }