获取Window是32位还是64位系统
来源:互联网 发布:佛教源码 编辑:程序博客网 时间:2024/05/20 16:35
Windows常用的两个获取系统信息的API:
void WINAPI GetNativeSystemInfo( _Out_ LPSYSTEM_INFO lpSystemInfo);void WINAPI GetSystemInfo( _Out_ LPSYSTEM_INFO lpSystemInfo);lpSystemInfo :指向一个供函数返回信息的SYSTEM_INFO结构体。SYSTEM_INFO结构体定义如下:typedef struct _SYSTEM_INFO{ union { DWORD dwOemId; struct { WORD wProcessorArchitecture; WORD wReserved; }; }; DWORD dwPageSize; LPVOID lpMinimumApplicationAddress; LPVOID lpMaximumApplicationAddress; DWORD_PTR dwActiveProcessorMask; DWORD dwNumberOfProcessors; DWORD dwProcessorType; DWORD dwAllocationGranularity; WORD wProcessorLevel; WORD wProcessorRevision;} SYSTEM_INFO;[1] SYSTEM_INFO结构体参数说明:wProcessorArchitecture: Word; {处理器的体系结构}wReserved: Word; {保留}dwPageSize: DWORD; {分页大小}lpMinimumApplicationAddress: Pointer;{最小寻址空间}lpMaximumApplicationAddress: Pointer;{最大寻址空间}dwActiveProcessorMask: DWORD; {处理器掩码; 0..31 表示不同的处理器}dwNumberOfProcessors: DWORD; {处理器数目}dwProcessorType: DWORD; {处理器类型}dwAllocationGranularity: DWORD; {虚拟内存空间的粒度}wProcessorLevel: Word; {处理器等级}wProcessorRevision: Word); {处理器版本}
注意:GetSystemInfo支持的最低客户端/服务器
Minimum supported client
Windows 2000 Professional [desktop apps | Windows Store apps]
Minimum supported server
Windows 2000 Server [desktop apps | Windows Store apps]
GetNativeSystemInfo支持的最低客户端/服务器
Minimum supported client
Windows XP [desktop apps | Windows Store apps]
Minimum supported server
Windows Server 2003 [desktop apps | Windows Store apps]
因此在使用的过程中我们要注意平台的处理。
typedef void (WINAPI *LPFN_PGNSI)(LPSYSTEM_INFO); int Is64BitSystem(){ SYSTEM_INFO si; int is64bit = 0; HINSTANCE handle; LPFN_PGNSI func; SYSTEM_INFO * sip; handle = LoadLibraryA("kernel32.dll"); if (handle) { func = (LPFN_PGNSI ) GetProcAddress(handle,"GetNativeSystemInfo"); if (func) { func(&si); } else { GetSystemInfo(&si); } FreeLibrary(handle); } else { GetSystemInfo(&si); } if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64 || si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_IA64 ) { //64 位操作系统 is64bit = 1; } else { // 32 位操作系统 is64bit = 0; } return is64bit ;}
阅读全文
0 0
- 获取Window是32位还是64位系统
- C获取系统是32位还是64位
- 获取系统是32位还是64位
- 浏览器的判断和Window系统是64位还是32位的判断
- 查看系统是32位还是64位系统
- 查询linux是32位系统还是64位系统
- 获取操作系统是32还是64位
- VC 获取计算机是32位还是64位的
- C#获取当前操作系统是32位还是64位
- 查看系统是32还是64位
- 查看linux系统版本是32位还是64位
- 如何查看linux系统是32位还是64位
- 如何查看系统是32位还是64位
- 查看linux系统版本是32位还是64位
- 查看linux系统版本是32位还是64位
- VC判断系统是64位还是32位
- 怎么查看系统是32位还是64位的?
- C#判断系统是32位还是64位
- [bzoj1031][后缀数组]字符加密
- 执行力篇
- 求组合钱数
- LeetCode----- 9.Palindrome Number
- Unity编写冰球对战游戏 2D版
- 获取Window是32位还是64位系统
- ios-tableView自动计算行高
- 笔记——DFS
- bzoj1096 [ZJOI2007]仓库建设(斜率)
- tmux鼠标配置出现错误unknown option: mode-mouse
- ACM-ICPC 2017南宁赛区网络赛题目题解收集
- leetcode 1. Two Sum (C语言)12
- Python脚本进行用户信用评分体系计算的案例
- input标签禁止输入隐藏光标