C#检查系统是否为Windows服务的64位

时间:2015-04-02 12:35:21

标签: c# windows service

我创建了一个Windows服务,想要检查系统是64位还是32位,并在检查后从我的服务器下载相应的文件。但是我现在的代码不能正常工作。

我正在使用。

int system = IntPtr.Size;
if (system == 4)
{
    //the system is 32 bit
    WebClient webClient = new WebClient();
    webClient.DownloadFile("http://www.myserver.com/updates/dll/bin.dll", "C:\bin.dll");    
}
if (system == 8)
{
    //the system is 64bit
    WebClient webClient = new WebClient();
    webClient.DownloadFile("http://www.myserver.com/updates/dll/64/bin.dll", "C:\bin.dll");
}

2 个答案:

答案 0 :(得分:1)

您可以使用System.Environment.Is64BitOperatingSystem属性检查操作系统版本是否为x64,而不是检查指针大小。

答案 1 :(得分:1)

而不是使用IntPtr.Size而是使用内置函数。 MSDN说https://msdn.microsoft.com/en-us/library/system.environment.is64bitoperatingsystem(VS.100).aspx 它可以通过环境调用