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函数应用的具体代码:
功能:返回关于当前系统的信息。
函数原型:
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; }
相关文章推荐
- 几个获取Windows系统信息的Delphi程序
- 开始进行 64 位 Windows 系统编程之前需要了解的所有信息
- 开始进行 64 位 Windows 系统编程之前需要了解的所有信息
- UNIX环境高级编程学习之第六章系统数据文件和信息-取所有组名、GID
- UNIX环境高级编程学习之第六章系统数据文件和信息-GID To GroupName
- 开始进行 64 位 Windows 系统编程之前需要了解的所有信息
- 获取Windows系统的进程运行信息
- delphi获取Windows系统的进程运行信息
- [Windows编程] 利用dxdiag获取用户机器硬件及OS信息
- UNIX环境高级编程学习之第六章系统数据文件和信息-取所有用户名和UID, GID
- 几个获取Windows系统信息的Delphi程序
- [Windows编程] 获取系统CPU 个数
- 我是这样学习Linux下C语言编程的-把程序输出信息加到系统日志里去
- 获取Windows系统的进程运行信息
- [Windows编程] 利用dxdiag获取用户机器硬件及OS信息
- 获取Windows系统的进程运行信息
- 几个获取Windows系统信息的Delphi程序
- 编程通过WMI获取系统信息
- UNIX环境高级编程学习之第六章系统数据文件和信息-实现uid to name
- 获取Windows系统的进程运行信息