VC++如何判断当前操作系统是32位还是64位?
来源:互联网 发布:mac 所有软件打不开 编辑:程序博客网 时间:2024/04/29 05:21
方法如下:
#include <windows.h>#include <tchar.h>typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL);LPFN_ISWOW64PROCESS fnIsWow64Process;BOOL IsWow64(){ BOOL bIsWow64 = FALSE; //IsWow64Process is not available on all supported versions of Windows. //Use GetModuleHandle to get a handle to the DLL that contains the function //and GetProcAddress to get a pointer to the function if available. fnIsWow64Process = (LPFN_ISWOW64PROCESS) GetProcAddress( GetModuleHandle(TEXT("kernel32")),"IsWow64Process"); if(NULL != fnIsWow64Process) { if (!fnIsWow64Process(GetCurrentProcess(),&bIsWow64)) { //handle error } } return bIsWow64;}int main( void ){ if(IsWow64()) _tprintf(TEXT("The process is running under WOW64.\n")); else _tprintf(TEXT("The process is not running under WOW64.\n")); return 0;}
注意,是判断当前操作系统,不是判断CPU
不能通过 #ifdef _WIN64 来判断,因为如果开发环境中定义了该宏,则该判断永远为真
参考:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms684139%28v=vs.85%29.aspx
- VC++如何判断当前操作系统是32位还是64位?
- VC++如何判断当前操作系统是32位还是64位?
- VC++如何判断当前操作系统是32位还是64位
- VC++如何判断当前操作系统是32位还是64位?
- 如何检测当前操作系统是64位还是32位
- 如何判断操作系统是32位还是64位?
- 如何判断Unix操作系统是32位还是64位?
- 如何判断操作系统是32位还是64位?
- 如何判断操作系统是64位还是32位
- 判断当前Windows XP操作系统是32位还是64位的方法
- C#获取当前操作系统是32位还是64位
- 判断linux操作系统是32位还是64位
- C#判断操作系统是32位还是64位
- 判断操作系统是32位还是64位
- 判断操作系统是32位还是64位
- C++判断操作系统是32位还是64位
- Windows判断操作系统是32位还是64位
- 判断操作系统是32位还是64位
- 线段树 --hdu 1754 ZQW思想
- #if _MSC_VER > 1000 #pragma once #endif
- android Framework几个重要的包
- mysql 替换函数replace()实现mysql 替换字符串
- POP收邮件方法
- VC++如何判断当前操作系统是32位还是64位?
- hdu 1166 敌兵布阵 朴素线段树
- Application、Session、ViewState、request、cookie、静态全局变量的区别
- hdu 1114 Piggy-Bank【完全背包】
- Mysql 查看连接数,状态
- JQuery【横向菜单】
- poj 1276 Cash Machine (多重背包)
- java与硬件交互:U盾与JSP的集成
- 几种任务调度的 Java 实现方法与比较