一、说明
检索有关当前系统的信息。
若要为在WOW64上运行的应用程序检索准确的信息,请调用GetNativeSystemInfo
函数。
二、头文件
sysinfoapi.h
三、函数原型
void GetSystemInfo(
LPSYSTEM_INFO lpSystemInfo
);
四、参数
lpSystemInfo
:指向接收信息的SYSTEM_INFO
结构的指针 。
五、SYSTEM_INFO结构体
typedef struct _SYSTEM_INFO {
union {
DWORD dwOemId; // Obsolete field...do not use
struct {
WORD wProcessorArchitecture;
WORD wReserved;
} DUMMYSTRUCTNAME;
} DUMMYUNIONNAME;
DWORD dwPageSize;
LPVOID lpMinimumApplicationAddress;
LPVOID lpMaximumApplicationAddress;
DWORD_PTR dwActiveProcessorMask;
DWORD dwNumberOfProcessors;
DWORD dwProcessorType;
DWORD dwAllocationGranularity;
WORD wProcessorLevel;
WORD wProcessorRevision;
} SYSTEM_INFO, *LPSYSTEM_INFO;
六、示例代码
#include <windows.h>
#include <sysinfoapi.h>
#include <iostream>
using namespace std;
int main()
{
SYSTEM_INFO systemInfo;
GetSystemInfo(&systemInfo);
switch (systemInfo.wProcessorArchitecture) {
case PROCESSOR_ARCHITECTURE_AMD64:
cout <<"cpu_type is x86_64";
break;
case PROCESSOR_ARCHITECTURE_ARM:
cout << "cpu_type is ARM";
break;
case PROCESSOR_ARCHITECTURE_IA64:
break;
case PROCESSOR_ARCHITECTURE_INTEL:
cout << "cpu_type is x86";
break;
case PROCESSOR_ARCHITECTURE_UNKNOWN:
cout << "cpu_type is unknow";
default:
break;
}
return 0;
}
七、参考网址
https://docs.microsoft.com/en-us/windows/win32/api/sysinfoapi/nf-sysinfoapi-getsysteminfo