检测Windows操作系统是64位还是32位
来源:互联网 发布:韩国域名注册商 编辑:程序博客网 时间:2024/05/17 21:57
错误的做法:
bool IsOs64Bit(){ SYSTEM_INFO si = { 0 }; ::GetSystemInfo(&si); if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64) { return true; } return false;}
这里wProcessorArchitecture 字段是处理器架构,不一定操作系统就是64位,所以行不通。
正确的做法:
bool IsWow64(){ typedef BOOL(WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL); BOOL bIsWow64 = FALSE; LPFN_ISWOW64PROCESS fnIsWow64Process = (LPFN_ISWOW64PROCESS)GetProcAddress(GetModuleHandle(_T("kernel32")), "IsWow64Process"); if (NULL != fnIsWow64Process) { if (!fnIsWow64Process(GetCurrentProcess(), &bIsWow64)) { return false; } } return bIsWow64 != 0 ? true : false; }
另外GetNativeSystemInfo这个API也可以。
参考链接:
http://lixinlixin2008.iteye.com/blog/1728161
http://www.cnblogs.com/walfud/articles/2311065.html
http://blog.csdn.net/playstudy/article/details/8259653
http://www.cnblogs.com/zyl910/archive/2012/02/19/vcis64.html
0 0
- 检测Windows操作系统是64位还是32位
- 检测Windows操作系统是64位还是32位
- 如何检测当前操作系统是64位还是32位
- Windows判断操作系统是32位还是64位
- python检测windows系统是32还是64位
- 获取操作系统是32还是64位
- 判断当前Windows XP操作系统是32位还是64位的方法
- [Windows编程] 如何判断操作系统是64位还是32位
- 如何确定计算机运行的是 32 位还是 64 位版本的 Windows 操作系统
- 我的电脑使用的 Windows 操作系统版本是 32 位还是 64 位?
- 【Windows编程】如何判断操作系统是64位还是32位
- 【Windows编程】如何判断操作系统是64位还是32位
- 【Windows编程】如何判断操作系统是64位还是32位
- 【Windows编程】如何判断操作系统是64位还是32位
- windows下如何判断操作系统是64位还是32位
- 如何确定计算机运行的是 32 位还是 64 位版本的Windows 操作系统
- windows编程--如何判断操作系统是64位还是32位
- 如何判断操作系统是32位还是64位?
- Diango怎么将数据库中的表同步到moudle中
- Linux下怎么将自己编写的Python模块添加到PYTHONPATH上
- JDBC连接池、监控组件 Druid
- AJAX请求在微信环境报错:NetworkError: Failed to execute 'send' on 'XMLHttpRequest': Failed to load
- 最长公共子序列——LCS
- 检测Windows操作系统是64位还是32位
- Android中Activity、Service和线程之间的通信
- STL算法总结之查找算法示例
- POJ 2096 Collecting Bugs
- sql操作语句,怎么新建变量。这样就不用每次修改都修改很长的表了
- 为什么应该使用MyFragment.newInstance()创建新的Frgament,而不是new MyFragment()
- js选择器封装
- Android-SDK-For-Linux常用命令
- linux使用小记