一、在我的系统设置软件《系统飞狐》中,应用到一个获取系统信息的源代码 ,在VC++中经过巧妙转换应用到我的软件中,取得了良好的效果,也许很多人都见过这个简单的获取系统信息的类sysinfo,在系统飞狐中充分扩展了它的功能 。该类首先需要编译一个DLL文件然后再调用它根据需要生成我们自己的应用程序。
图一 sysinfo界面
二、先编译DLL文件SysInfo.dll,然后在工程SysInfoTester中调用它,示例代码为DOS程序:
//在头文件中先调用DLL文件
#if !defined(SYSINFO_LINKSTATIC)
# if defined(SYSINFO_EXPORTS)
# undef DLL_CLASS
# define DLL_CLASS __declspec(dllexport)
# else
# undef DLL_CLASS
# define DLL_CLASS __declspec(dllimport)
# if defined(_DEBUG)
# pragma comment(lib, "SysInfoD.lib")
# else
# pragma comment(lib, "SysInfo.lib")
# endif
# endif
#else
# define DLL_CLASS
# if defined(_DEBUG)
# pragma comment(lib, "SysInfosD.lib")
# else
# pragma comment(lib, "SysInfos.lib")
# endif
#endif
在主函数中实现获取系统信息的功能,以CPU为例子
using namespace std;
void main(int argc, char* argv[])
{
SysInfo sysInfo;
cout << "---------------------" << endl;
cout << "CPU信息" << endl;
cout << "---------------------" << endl;
cout << "CPU型号: " << sysInfo.getCpuIdentification() << endl;//显示cpu型号
cout << "CPU速度: " << sysInfo.getCpuSpeed() << endl;
cout << "CPU个数: " << sysInfo.getNumProcessors() << endl;
cout << "Family: " << sysInfo.getCpuFamily() << endl;
cout << "Model: " << sysInfo.getCpuModel() << endl;
cout << "Stepping: " << sysInfo.getCpuStepping() << endl;
system("pause");
system("cls");
}