真正判断操作系统是否为x64的方法
来源:互联网 发布:淘宝哪有做假病历的 编辑:程序博客网 时间:2024/04/29 17:20
如何判断当前操作系统是否为x64?百度了一下,几乎全是这个答案
BOOL IsWow64(){typedef BOOL(WINAPI *ISWOW64PROCESS)(HANDLE, PBOOL);ISWOW64PROCESS fnIsWow64Process;BOOL bIsWow64 = FALSE;fnIsWow64Process = (ISWOW64PROCESS)GetProcAddress(GetModuleHandle(TEXT("kernel32")), "IsWow64Process");if (fnIsWow64Process != nullptr)fnIsWow64Process(GetCurrentProcess(), &bIsWow64);return bIsWow64;}
这个代码在大多数时候确实是没有问题的,因为他们的程序都是x86编译的!最后一传十,十传百。。。
其实MSDN上已经明确说明了IsWow64Process函数的第2个参数,当你的进程是x64且系统是x64的时候这个函数是会返回FALSE的
也就是说,在两边都是x64的情况下,上面的代码将会返回FALSE!
那么怎么真正准确的判断当前系统是不是x64呢?
bool isWow64(){#ifdef _WIN64 return true;#elsetypedef BOOL(WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL);auto fnIsWow64Process = (BOOL(WINAPI*)(HANDLE, PBOOL))GetProcAddress(GetModuleHandle(_T("kernel32")), "IsWow64Process");if (fnIsWow64Process){BOOL f64 = FALSE;return !!fnIsWow64Process(GetCurrentProcess(), &f64) && f64;}return false;#endif }
4 0
- 真正判断操作系统是否为x64的方法
- 判断操作系统是否为x64的方法
- 判断主机操作系统是否为x64位
- 【C/C++】判断指定进程是否为x64的方法
- 判断网络是否为真正的公网IP
- 判断操作系统是否为NT
- 判断是否为日期类型的方法
- 判断是否为字母的方法
- js判断是否为email的方法!
- 判断是否为闰年的方法
- 判断字符串是否为空的方法
- 判断字符串是否为空的方法
- 判断字符串是否为数字的方法
- 判断设备是否为iPhone5的方法
- 判断是否为空的一些方法
- JS判断是否为中文的方法
- 判断字符串是否为空的方法
- 判断是否为有效电话号码的方法
- Linux C实现国际化
- Lua 编程技巧及优化
- 网络通信,服务器架构,音视频开发,网络安全,移动互联网
- 运算符重载(四)带友元
- self host WCF + ssl
- 真正判断操作系统是否为x64的方法
- 老调重弹:年龄大了,码农何去何从
- Qt之生成pdf
- 错误
- 天空
- sql2000嵌套查询04--带有EXISTS谓词的子查询
- Fire!
- The LMAX Architecture
- python paramiko 通过密钥文件登陆ssh和听过sftp上传文件