How to detect Windows 64-bit platform with .NET?

前端 未结 29 3523
野性不改
野性不改 2020-11-22 04:53

In a .NET 2.0 C# application I use the following code to detect the operating system platform:

string os_platform = System.Environment.OSVersion.Platform.ToS         


        
29条回答
  •  轻奢々
    轻奢々 (楼主)
    2020-11-22 05:07

    You can also check for the PROCESSOR_ARCHITECTURE environment variable.

    It either doesn't exist or is set to "x86" on 32-bit Windows.

    private int GetOSArchitecture()
    {
        string pa = 
            Environment.GetEnvironmentVariable("PROCESSOR_ARCHITECTURE");
        return ((String.IsNullOrEmpty(pa) || 
                 String.Compare(pa, 0, "x86", 0, 3, true) == 0) ? 32 : 64);
    }
    

提交回复
热议问题