我正在使用QT开发桌面应用程序。我使用以下代码获取笔记本电脑的序列号。它适用于Windows 7和Windows Vista。它在Windows XP中不起作用。
代码:
QProcess process;
process.start("wmic bios");
process.waitForFinished(-1);
QByteArray out = process.readAllStandardOutput().simplified();
答案 0 :(得分:0)
根据this thread显示从命令“wmic bios”检索到的信息可在注册表中找到
HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System
您可以使用QSettings来阅读Windows上的注册表
一个简单的例子就像
QSettings settings("HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System",
QSettings::NativeFormat);
QString value = settings.value("Identifier", "0").toString();
您必须获取您想要的实际密钥(使用regedit.exe浏览注册表)并相应地更新上面的代码片段
答案 1 :(得分:0)
第一次在新的Windows XP VirtualBox实例上执行“wmic bios”时,它向我显示“等待安装结束”,并且在成功安装后重新启动此工具(因此初始过程已完成)。然后在Win7和WinXP中输出相同。