找回密码
 立即注册
收起左侧

qt怎么获取硬盘序列号,是不是没戏?

2
回复
9737
查看
[复制链接]
累计签到:7 天
连续签到:1 天
来源: 2018-2-26 15:11:23 显示全部楼层 |阅读模式
1Qter豆
qt怎么获取硬盘序列号,是不是没戏?

回复

使用道具 举报

尚未签到

2018-2-27 09:21:24 显示全部楼层
楼主应该弄清楚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();
}

如果是其他平台,请表明。
回复

使用道具 举报

累计签到:7 天
连续签到:1 天
2018-2-27 15:11:06 显示全部楼层
chuxf 发表于 2018-2-27 09:21
楼主应该弄清楚Qt是什么?它是一个跨平台的函数库,并不是语法规则,与功能性也没有直接关系。
既然是跨平 ...

这个代码我试过,不是硬盘序列号
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了