如何获得以Windows XP为操作系统的笔记本电脑的序列号?

时间:2013-03-05 09:21:27

标签: qt windows-xp

我正在使用QT开发桌面应用程序。我使用以下代码获取笔记本电脑的序列号。它适用于Windows 7和Windows Vista。它在Windows XP中不起作用。

代码:

QProcess process;
process.start("wmic bios");
process.waitForFinished(-1);
QByteArray out = process.readAllStandardOutput().simplified();

2 个答案:

答案 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中输出相同。