|
楼主应该弄清楚Qt是什么?它是一个跨平台的函数库,并不是语法规则,与功能性也没有直接关系。
既然是跨平台的,那么其标准库中,就不会有关于硬盘的内容。
毕竟,并非所有平台,都有硬盘。比如一些嵌入式的系统里。可能没有存储设备,或者是flash闪存,甚至其他存储芯片。
所以,获取硬盘序列号,一定是一个平台相关的操作。而非标准(不管是C++标准,还是Qt标准库,都不会纳入)
如果您在windows上进行编程,可以用以下代码:
QString MachCode::getHarddiskNum(){ //硬盘序列号
char cVolume[256];
char cFileSysName[256];
DWORD dwSerialNum; //硬盘序列号
DWORD dwFileNameLength;
DWORD dwFileSysFlag;
GetVolumeInformationA( "C://", cVolume, 256, &dwSerialNum, &dwFileNameLength,
&dwFileSysFlag, cFileSysName, 256);
return QString::number(dwSerialNum,16).toUpper();
}
如果是其他平台,请表明。 |
|