C++在windows下获得运行主机的硬件信息:CPU序列号、MAC地址、硬盘序列号、主板序列号
源代码
包含文件:
get_hardware_information.h
get_hardware_information.cpp
GetCpuSerialByCmd.h
GetCpuSerialByCmd.cpp
GetMacIDByCmd.h
GetMacIDByCmd.cpp
GetBaseBoardIDByCmd.h
GetBaseBoardIDByCmd.cpp
GetHDSerialByCmd.h
GetHDSerialByCmd.cpp
点击这里下载
在windows下获取硬件信息原理
在windows命令下,可以通过输入命令行来获得相应的硬件信息,用C++模拟这种命令行的行为,从而获得硬件信息。
cmd中的命令行如下所示:
//获取CPU ID
wmic cpu get processorid
//获取Mac地址
ipconfig /all
//获取主板序列号
wmic BaseBoard get SerialNumber
//获取硬盘序列号
wmic diskdrive get serialnumber
使用方法
注意:需要将#include "get_hardware_information.h"放在第一个头文件的位置
#include "get_hardware_information.h"
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
//get hardware information
char lpszCpu[128] = "";
char lpszMac[128] = "";
char lpszBaseBoard[128] = "";
char lpszHDSerial[128] = "";
GetCpuSerialByCmd(lpszCpu, 128);
GetMacByCmd(lpszMac, 128);
GetBaseBoardByCmd(lpszBaseBoard, 128);
GetHDSerialByCmd(lpszHDSerial);
cout << "CPU ID is " << lpszCpu << endl;
cout << "MAC ID is " << lpszMac << endl;
cout << "Base Board ID is " << lpszBaseBoard << endl;
cout << "HD Serial is " << lpszHDSerial << endl;
//get hardware information and save it to the file "hardware_information.txt"
string file_path = "hardware_information.txt";
get_hardware_information(file_path);
system("pause");
return 0;
}