如何判断操作系统是32位还是64位?
来源:互联网 发布:扬琴淘宝网 编辑:程序博客网 时间:2024/04/29 06:18
64位机器可以运行32/64位操作系统,而32位机器只能运行32位操作系统,这样就有一个问题,对于一个64位机器,如何判断操作系统究竟是32位还是64位呢?
总结了一下,基本方法如下:
1.linux:
#file /sbin/init
/sbin/init: ELF <b>;32-bit</b>; LSB executable, Intel 80386......
2.hpux:
#getconf KERNEL_BITS
3.windows
#include <windows.h>
#include <stdio.h>
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)
{
if (!fnIsWow64Process(GetCurrentProcess(),&bIsWow64))
{
return FALSE;
} else
return TRUE;
}
return bIsWow64;
}
int main()
{
BOOL f64;
f64 = IsWow64();
if (f64)
printf("64/n");
else
printf("32/n");
}
主要是利用了IsWow64Process,这是一个windows api,如果进程是运行在64位系统上的32位程序,则返回TRUE,我们用32位方式编译这个程序并运行,即可判断操作系统的位数。
补充Delphi版的,写出一个函数了,直接调用~
function RunningInWow64:boolean;
type
LPFN_ISWOW64PROCESS=function(Hand:Hwnd; Isit:Pboolean):boolean; stdcall;
var
pIsWow64Process:LPFN_ISWOW64PROCESS;
IsWow64:boolean;
begin
result:=false;
@pIsWow64Process:=GetProcAddress(GetModuleHandle('kernel32'),'IsWow64Process');
if @pIsWow64Process=nil then exit;
pIsWow64Process(GetCurrentProcess,@IsWow64);
result:=IsWow64;
end;
- 如何判断操作系统是32位还是64位?
- 如何判断Unix操作系统是32位还是64位?
- 如何判断操作系统是32位还是64位?
- 如何判断操作系统是64位还是32位
- 判断linux操作系统是32位还是64位
- C#判断操作系统是32位还是64位
- 判断操作系统是32位还是64位
- 判断操作系统是32位还是64位
- C++判断操作系统是32位还是64位
- Windows判断操作系统是32位还是64位
- 判断操作系统是32位还是64位
- [Windows编程] 如何判断操作系统是64位还是32位
- VC++如何判断当前操作系统是32位还是64位?
- 【Windows编程】如何判断操作系统是64位还是32位
- 【Windows编程】如何判断操作系统是64位还是32位
- 【Windows编程】如何判断操作系统是64位还是32位
- VC++如何判断当前操作系统是32位还是64位?
- 【Windows编程】如何判断操作系统是64位还是32位
- 两台linux服务器之间建立ssh信任关系
- 我毕业后的大学(二)
- 将string转为大小写
- SQL随机函数newID()和RAND()详解
- 编程小经验,不断更新中...
- 如何判断操作系统是32位还是64位?
- hp mirrior disk制作 [带EFI]
- “现”与“象” ---------------- 抽象世界 与 现实世界 的通道
- Java String
- Posix多线程编程学习笔记(一)—线程基础(1)
- java断点续传的原理
- JavaScript设计模式
- 元编程(metaprogrammming)的艺术:元编程介绍
- 在GridView中以自己的模式显示数据库中的bool字段