我需要得到真实的"硬盘序列号。我没有成功地搜索了不同的解决方案。
我在c ++中建立一个必须与另一种软件/语言交互的DLL。
以下是代码:
extern "C" __declspec(dllexport) void getHDSerial( int nParams, int* pIn, int* pOut )
{
char* command = "wmic path win32_physicalmedia get SerialNumber";
char* hdSerial = (char*) system(command);
if (hdSerial) {
GETSTRING(pOut[0]) = hdSerial;
// system(exit);
}
else {
GETSTRING(pOut[0]) = "1";
}
}
DLL应使用以下命令回复CMD中可用的正确序列号: wmic path win32_physicalmedia获取SerialNumber 无需支持其他操作系统,只需支持Windows。