我一直在寻找获取系统信息的方法,例如总内存,处理器数量,硬盘驱动器可用空间等。向内核询问该信息,我如何设法从c ++中完成,不使用.system调用或system_info结构,也许通过kernel.dlls?我发现很多信息,但使用系统调用,我需要获取系统信息但不使用创建的库,更像是创建我自己的内核请求该信息。
答案 0 :(得分:0)
我知道你说“没有SYSTEM_INFO
结构”,但我认为GetSystemInfo正是你想要的。
来自MSDN上的Getting Hardware Information:
#include <windows.h>
#include <stdio.h>
#pragma comment(lib, "user32.lib")
void main()
{
SYSTEM_INFO siSysInfo;
// Copy the hardware information to the SYSTEM_INFO structure.
GetSystemInfo(&siSysInfo);
// Display the contents of the SYSTEM_INFO structure.
printf("Hardware information: \n");
printf(" OEM ID: %u\n", siSysInfo.dwOemId);
printf(" Number of processors: %u\n",
siSysInfo.dwNumberOfProcessors);
printf(" Page size: %u\n", siSysInfo.dwPageSize);
printf(" Processor type: %u\n", siSysInfo.dwProcessorType);
printf(" Minimum application address: %lx\n",
siSysInfo.lpMinimumApplicationAddress);
printf(" Maximum application address: %lx\n",
siSysInfo.lpMaximumApplicationAddress);
printf(" Active processor mask: %u\n",
siSysInfo.dwActiveProcessorMask);
}
GetSystemInfo
的文档明确指出它位于Kernel32.dll
- 我认为降压在此停止。