可以参考微软的代码呀;方法是判断当前进程是否运行在WOW64下, 首先你的程序要按x86方式去编译链接,得到的就是32位的程序了,32位程序要运行在64位系统下时,需要WOW64子系统的支持,所以用这个特性就可以判断出当前系统是不是64位了;如果IsWow64返回TRUE,那就表示当前程序运行在WOW64下,就是说当前系统是64位的。
#include
typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL);
LPFN_ISWOW64PROCESS
fnIsWow64Process = (LPFN_ISWOW64PROCESS)GetProcAddress(
GetModuleHandle("kernel32"),"IsWow64Process");
BOOL IsWow64()
{
BOOL bIsWow64 = FALSE;
if (NULL != fnIsWow64Process)
{
if (!fnIsWow64Process(GetCurrentProcess(),&bIsWow64))
{
// handle error
}
}
return bIsWow64;
}
本文链接:https://it72.com:4443/9301.htm