IsWow64Process

确定指定进程是否运行在64位操作系统的32环境(Wow64)下。

64位系统 运行64位程序 返回false

64位系统 运行32位程序 返回true

32位系统 运行64位程序 不能运行

32位系统 运行32程序 返回false

方法如下:

    #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位?相关推荐

  1. 判断当前Windows XP操作系统是32位还是64位的方法

    昨天在调查怎样区分Windows XP32位和64位的问题,在网上找了一下,大家常用的有两种方法. 方法一.通过指针来判断. 在32位操作系统上指针长是4个字节,而在64位系统上指针为8个字节. 方法 ...

  2. 如何判断Unix系统的一个库文件是32位还是64位的

    如何判断Unix系统的一个库文件是32位还是64位的 某些时候,我们需要知道操作系统的位数,或者配置插件的时候需要知道主程序的位数(例如配置apache插件的时候需要知道apache的位数以便配置相应 ...

  3. c语言程序判断32位还是64位,c++ 判断是64位还是32位系统的实例

    1.IsWow64Process 确定指定进程是否运行在64位操作系统的32环境(Wow64)下. 语法 BOOL WINAPI IsWow64Process( __in HANDLE hProces ...

  4. 台式机计算机操作系统怎么看,电脑操作系统是32位还是64位的怎么查看

    电脑的更新换代速度飞快,当年买电脑时还流行的32位电脑,现在已跟不上时代了,32位和64位的电脑操作系统有什么区别?又如何查看自己的电脑操作系统是32位还是64位的呢?下面是学习小编给大家整理的有关介 ...

  5. 计算机操作系统32跟64区别是什么,32位和64位计算机操作系统之间的区别32位和64位win7系统之间的区别...

    32位和64位Win7系统之间的区别是一个古老的话题,但是许多朋友仍然不了解它.两者有什么区别?下面的文章介绍了32位和64位Win7系统之间的区别,以及其他一些深入的理论解释.您可以在文章末尾查看扩 ...

  6. 32位系统和64的区别c语言,32位 与 64 位 区别 : CPU 操作系统 应用程序...

    1.64位CPU与32位CPU 这两者的指令集合.操作数位数.寄存器名称和个数等等都不相同. 一.比如一条mov eax,1指令,可能在32bCPU上对应的机器指令是0x1201:在64位机器上就是0 ...

  7. Android系统判断CPU是32位还是64位

    Android系统判断CPU是32位还是64位 一.方法一,读取"/proc/cpuinfo"文件的第一行. 1.32bit 2.64bit 二.方法二,读取Android 的sy ...

  8. Android判断CPU是32位还是64位

    Android系统判断CPU是32位还是64位 方法一: 命令行中输入以下命令 adb shell getprop ro.product.cpu.abi 这样可以直接获取cpu处理器位数: armea ...

  9. 台式计算机32位和64位的区别,电脑操作系统32位和64位的区别

    电脑操作系统32位和64位的区别 到底电脑操作系统32位和64位的区别是什么?我想这对于电脑知识欠缺的朋友来说是搞不清楚32位和64位有什么不同?反正能用就行,其实这恰好是一个操作系统知识方面的误区, ...

最新文章

  1. 人工智能能否复制人脑引争论 美媒:目前AI仍存在局限性
  2. 年末盘点 2016 年最严重的 7 起 DDoS 攻击事件
  3. maven修改运行环境配置
  4. Linux mount 修改文件系统的读写属性
  5. SurfaceView闪烁问题
  6. 80后程序员必须知道的编程语言和它们的创造者
  7. 在Android中处理屏幕布局变化
  8. (43)System Verilog模块变量数据位宽扩展
  9. R_ggplot2基础(四)
  10. 批量梯度下降(BGD)、小批量梯度下降(mini-BGD)、随机梯度下降(SGD)优缺点比较
  11. nginx 代理部署前端项目
  12. 自然语言处理之文本分类
  13. Git官网下载文件提示无法访问此网站的解决办法
  14. 手机如何将PDF文件拆分?分享两种手机拆分文件方法
  15. Python数据分析项目-微信好友数据分析
  16. 业绩承压来临,京东方还能抗周期多久
  17. 12.8 Font 对象
  18. 让apache支持pathinfo
  19. python的链式操作及类型推断(filter/map/find) 摘自国产开源库pyiter库
  20. ❤ 挑战C站最强C++ STL标准库总结(内含大量示例)

热门文章

  1. redis学习-02
  2. 单元测试系列之八:Sonar 数据库表关系整理一(续)
  3. 日本依靠储能系统解决光伏消纳问题
  4. webpack 单页面应用实战
  5. RAISE_APPLICATION_ERROR用法
  6. AppSwiper让iphone5快速关闭后台应用
  7. 网管日志-06.08.10
  8. 知识产权界福布斯排行榜公布:厉害了,我的中国!
  9. java中静态代码块的用法 static用法详解(转)
  10. Bootstrap系列 -- 38. 基础导航条