#include <iostream>
#include <windows.h>
#include <iomanip>
using namespace std;
int main(){
SYSTEM_INFO SystemInfo;
GetSystemInfo(&SystemInfo);
cout << left << setw(20) << "CPU分页大小:" << SystemInfo.dwPageSize << endl
<< setw(20) << "最小寻址单元:" << SystemInfo.lpMinimumApplicationAddress << endl
<< setw(20) << "最大寻址单元:" << SystemInfo.lpMaximumApplicationAddress << endl
<< setw(20) << "CPU掩码:" << SystemInfo.dwActiveProcessorMask << endl
<< setw(20) << "CPU个数:" << SystemInfo.dwNumberOfProcessors << endl
<< setw(20) << "CPU类型:" << SystemInfo.dwProcessorType << endl
<< setw(20) << "CPU分配粒度:" << SystemInfo.dwAllocationGranularity << endl
<< setw(20) << "CPU等级:" << SystemInfo.wProcessorLevel << endl
<< setw(20) << "CPU版本:" << SystemInfo.wProcessorRevision << endl;
return 0;
}
我在一个独立开发者的QQ群里提问:请问Windows中有没有哪个API可以提供CPU、内存还有网络的运行数据啊?结果群主让我试试GetSystemInfo函数。我试了,并没有关于CPU占用率的数据。可见未必所有的开发者都对Windows特别有研究。
未来几天都将在研究Windows API和GUI的过程中度过,目的就是解决学堂在线上清华大学《面向对象程序设计》的第6章:负载监视器的实现问题。黄震春老师只讲解了设计一个负载监视器的整体框架、如何用面向对象的方法和设计模式来做,并没有给出完整具体的实现代码,所以我就把这个任务当作一个大的课程设计来做吧。真正在清华大学计算机系读书的高材生们,应该都具备这种独立自学的能力。