【发布时间】:2015-03-27 10:26:32
【问题描述】:
DWORD disk_serialINT[MAX_PATH + 1];
GetVolumeInformationA(NULL, NULL, NULL, disk_serialINT, NULL, NULL, NULL, NULL);
char* disk_serialANSI;
sprintf(disk_serialANSI, "%d", disk_serialINT);
std::string HDDserial = disk_serialANSI;
这是我获取硬盘序列号的一段代码,但问题是每次程序执行时值都不一样。谁能解释一下?
已解决:
DWORD disk_serialINT;
GetVolumeInformationA(NULL, NULL, NULL, &disk_serialINT, NULL, NULL, NULL, NULL);
std::string HDDserial = std::to_string(disk_serialINT);
谢谢。
【问题讨论】:
-
这段代码中有三个错误,是时候更新你的工具了。
-
您使用的是哪本 C++ 书籍?它在教你糟糕的做法。
-
这是我的私人项目。不幸的是,我找不到任何可以学习 winapi 的书。
标签: c++ winapi disk hardware-id