博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#判断操作系统是32位还是64位(转)
阅读量:6713 次
发布时间:2019-06-25

本文共 1512 字,大约阅读时间需要 5 分钟。

1 根据句柄长度判断操作系统是否为64位操作系统

public static bool IsRunningOn64Bit { get { return IntPtr.Size == 8; } }

2 根据句柄长度判断操作系统是否为64位操作系统(不安全代码)

public static unsafe bool IsRunningOn64Bit { get { return (sizeof(IntPtr) == sizeof(long)); } }

将项目做如下设置:项目属性对话框->配置属性->生成->允许不安全代码块 设为"true"

3 根据AddressWidth属性判断

AddressWidth的值受CPU和操作系统的双重影响。如下:

  32bit OS 64bit OS
32bit CPU AddressWidth = 32 N/A
64bit CPU AddressWidth = 32 AddressWidth = 64

以下程序段读取AddressWidth的值

public static string GetAddressWidth() {     ConnectionOptions oConn = new ConnectionOptions();     System.Management.ManagementScope oMs = new System.Management.ManagementScope(" \\\\localhost", oConn);     System.Management.ObjectQuery oQuery = new System.Management.ObjectQuery("select AddressWidth from Win32_Processor");     ManagementObjectSearcher oSearcher = new ManagementObjectSearcher(oMs, oQuery);     ManagementObjectCollection oReturnCollection = oSearcher.Get();     string addressWidth = null;
    foreach (ManagementObject oReturn in oReturnCollection)     {         addressWidth = oReturn["AddressWidth"].ToString();     }
    return addressWidth; }

4 判断操作系统是否为64位操作系统

bool IsRunningOn64Bit() { #if defined(_WIN64)  return true; // 64-bit programs run only on Win64 #elif defined(_WIN32)  // 32-bit programs run on both 32-bit and 64-bit Windows  // so must sniff  bool f64 = false;  return IsWow64Process(GetCurrentProcess(), &f64) && f64; #else  return false; // Win64 does not support Win16 #endif }

网友评论:不要用IsWow64Process(),Wow64特指Windows32 On Win64。

转载于:https://www.cnblogs.com/tabcdt/p/3871841.html

你可能感兴趣的文章
搜狗输入法的评判
查看>>
九、oracle 事务
查看>>
几种线性时间排序
查看>>
08 django模型系统(一)
查看>>
我对 前端 Js 开发方式 架构方向 的 一些看法
查看>>
Linux shell 自启动脚本写法
查看>>
How Many Tables HDOJ
查看>>
DataTable转换成List
查看>>
身份证号码验证算法
查看>>
py实现ftp
查看>>
3、异步编程-JS种事件队列的优先级
查看>>
关于C语言判断文件尾问题的探讨
查看>>
poj1243(经典dp)
查看>>
svn仓库转为git仓库
查看>>
跳转到指定的控制器
查看>>
cocoapod升级版本
查看>>
在正式800修改代码
查看>>
AngularJs的UI组件ui-Bootstrap分享(十三)——Progressbar
查看>>
用前序遍历递归构造二叉树
查看>>
JavaScript jQuery bootstrap css ajax
查看>>