VC++ 判断当前系统为32位还是64位

尝试了在VC++环境下判断系统为32位还是64位的方法,亲测有效!提供的函数如下
  

BOOL IsWow64()
{
    typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL);
    LPFN_ISWOW64PROCESS fnIsWow64Process;
    BOOL bIsWow64 = FALSE;
    fnIsWow64Process = (LPFN_ISWOW64PROCESS)GetProcAddress( GetModuleHandle("kernel32"),"IsWow64Process");
    if (NULL != fnIsWow64Process)
    {
        fnIsWow64Process(GetCurrentProcess(),&bIsWow64);
    }
    return bIsWow64;
}

 

时间: 2024-11-10 01:22:32

VC++ 判断当前系统为32位还是64位的相关文章

Linux判断CPU是32位还是64位,判断系统是32位还是64位

from:http://www.ipcpu.com/2010/08/linux-cpu-32-64/ 本文仅限于服务器CPU和Linux系统讨论,与台式电脑.笔记本无关. 32位.64位不能乱装,64的能装32位的,因为64位的CPU可以兼容32位,32位的装不了64位的.最近部署了MongoDB,系统是32位的提示会有最大文件2G的限制.还有最常见的问题32位系统不支持4G以上内存,即使打PAE效率也受影响. 1.判断CPU是32位还是64位 这个问题比较有意思,网上给出的办法都是判断了系统的

如何判断系统是32位还是64位的linux系统

如何判断系统是32位还是64位的linux系统 某日,需要下载个安装包,忽然忘记了自己的系统是32位还是64位的系统了,一时想不起来怎么查看时32位还是64位,呵呵,随便百度下,就发现有好多方法,这里记录下,方便日后查询: 第一种: 12345 [root@CentOS62 ~]# uname -mi686 [root@436704 ~]# uname -mx86_64 第二种: 12345 [root@CentOS62 ~]# file /sbin/init/sbin/init: ELF 32

32位和64位dll判断

如何判断一个dll文件是32位还是64位? 1. 开发中经常会使用到VC的一个工具 Dependency Walker用depends.exe打开dll,文件名前有64标示的即为64位. 但是这个方式不是万能的,只能简单判断.很多都判断不出来.比如64位系统下 C:\Windows\System32\msvcrt.dll 2. 使用visual studio开发工具命令dumpbin一般位于vs安装目录bin子目录下,如C:\Program Files (x86)\Microsoft Visua

判断应用程序是32位还是64位

VC++检测可执行程序DLL.EXE等是32位还是64位 1.首先介绍PE结构 Windows系统下的可执行文件,是基于Microsoft设计的一种新的文件结构,此结构被称之为PE结构.PE的意思是Portable Executable(可移植的执行体),所有Win32执行体都是用PE文件格式,其中包括SYS.DLL.EXE.COM.OCX等.(不管是学习逆向.破解还是安全,了解PE文件格式都是非常必要的.) PE文件的第一个部分是IMAGE_DOS_HEADER,大小为64B,这里面有两个重要

C#判断操作系统是32位还是64位(转)

1 根据句柄长度判断操作系统是否为64位操作系统 public static bool IsRunningOn64Bit { get { return IntPtr.Size == 8; } } 2 根据句柄长度判断操作系统是否为64位操作系统(不安全代码) public static unsafe bool IsRunningOn64Bit { get { return (sizeof(IntPtr) == sizeof(long)); } } 将项目做如下设置:项目属性对话框->配置属性->

判断操作系统是32位还是64位

1判断操作系统是32位还是64位 //方法I: BOOL IsWow64() { //函数IsWow64Process()用于确定指定进程是否运行在64位操作系统的32环境(Wow64)下 //如果该进程是32位进程,运行在64操作系统,该值为true,否则为false,具体如下: //32bit程序跑在32bit系统下,返回0. //32bit程序跑在64bit系统下,是wow64模式,返回1. //64bit程序跑在64bit系统下,那么不是wow64模式,返回0 BOOL bIsWow64

C语言 怎么区分当前系统是32位还是64位?

32位和64位指的是操作系统的位数,映射到C语言中,最直观的就是指针类型占用的字节数. 1 32位系统: 地址占32位,所以指针类型同样占32位,即4字节. 2 64位系统: 地址占64位,所以指针类型同样占64位,即8字节. 于是,只需要判断任意一个指针的sizeof值,即可获取到位数. 如 int main() { int bits= sizeof(char *); if(bits == 4) printf("32位\n"); else if(bits == 8) printf(&

如何判断Office是32位还是64位?

如果系统是32位的,则不需要判断Office位数了,因为只能安装32位Office. 下面只讨论64位系统中,Office的位数判断问题. 64位系统中可能存在以下4种情况: 安装了32位Office 安装了64位Office 安装了32位和64位两个版本Office 没安装任何Office 究竟Office是多少位的?如果不打开Office以及VBA,通过注册表可能能够查询出来,不过比较费事儿,而且注册表也有被修改的可能,靠不住. 下面介绍打开了Office的一个组件,或者打开了VBA编程环境

iOS-程序发布-32位和64位系统的兼容

在苹果推出iPhone5S时,64位的应用就走到了眼前.当时就看见苹果官方资料宣布iOS7.x的SDK支持了64位的应用,而且内置的应用都已经是64位. 我记得自己刚刚接触电脑时还有16位的系统,指针的寻址范围还是16位的.当年用TurboC时,还要根据应用的大小选择是tiny模式还是其他.后来很长一段时间使用32位的模型编程,4G是牢牢记住的一个边界条件.而现在,64位走到了眼前. 就如同16位转向32位一样,硬件肯定是最先推出的,SDK也会跟进,然后各种第三方的应用才会逐步跟进,这个过程一般