您的位置:首页 > 编程语言

windows编程学习之获取系统信息

2016-12-07 20:43 246 查看
(1) GetSystemInfo函数
功能:返回关于当前系统的信息。
函数原型:
void WINAPI GetSystemInfo
(
_Out_ LPSYSTEM_INFO lpSystemInfo//LPSYSTEM_INFO结构体指针
);

    SYSTEM_INFO结构体
功能:包括当前计算机的信息。这个信息包括计算机的体系结构、中央处理器的类型、系统中中央处理器的数量、页面的大小以及其他信息。
原型:
typedef struct _SYSTEM_INFO {
union{
DWORD dwOemId;//已经废弃的成员
struct {
WORD wProcessorArchitecture;//指定系统中的中央处理器的体系结构
WORD wReserved;//保留位
};
};
DWORD dwPageSize;//指定页面的大小和页面保护和委托的颗粒。这是被 VirtualAlloc 函数使用的页大小
LPVOID lpMinimumApplicationAddress;//指向应用程序和动态链接库(DLL)可以访问的最低内存地址
LPVOID lpMaximumApplicationAddress;//指向应用程序和动态链接库(DLL)可以访问的最高内存地址
DWORD dwActiveProcessorMask;//指定一个用来代表这个系统中装配了的中央处理器的掩码。二进制0位是处理器0;31位是处理器31
DWORD dwNumberOfProcessors;//指定系统中的处理器的数目
DWORD dwProcessorType;//指定系统中中央处理器的类型
DWORD dwAllocationGranularity;//指定已经被分配的虚拟内存空间的粒度
WORD wProcessorLevel;//指定系统体系结构依赖的处理器级别
WORD wProcessorRevision;//指定系统体系结构依赖的处理器修订版本号
}SYSTEM_INFO;

(2)下面是GetSystemInfo函数应用的具体代码:

#include <Windows.h>
#include <stdio.h>
int GetProcessorNum(void);
int main()
{
int iProcessNum;
iProcessNum = GetProcessorNum();

printf("本系统处理器个数为:%d\n",iProcessNum);

getchar();
return 0;
}
int GetProcessorNum(void)
{
SYSTEM_INFO sysInfo;									//定义系统信息的结构体
GetSystemInfo(&sysInfo);
printf("中央处理器的体系结构为%d\n",sysInfo.wProcessorArchitecture);			//获取系统信息
printf("系统页面大小为%d\n",sysInfo.dwPageSize);
printf("系统处理器数量%d\n",sysInfo.dwNumberOfProcessors);
printf("已经被分配的虚拟内存空间的粒度%d\n",sysInfo.dwAllocationGranularity);
return sysInfo.dwNumberOfProcessors;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++ windows