【问题标题】:How to get serial number of laptop which has Windows XP as OS?如何获取以 Windows XP 为操作系统的笔记本电脑的序列号?
【发布时间】:2013-02-19 15:09:16
【问题描述】:

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

代码:

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

【问题讨论】:

  • 您是否尝试过在这台 xp 机器上从命令提示符运行“wmic bios”?你得到什么作为输出?

标签: qt windows-xp


【解决方案1】:

基于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 浏览注册表)并相应地更新上述代码片段

【讨论】:

    【解决方案2】:

    当我第一次在新的 Windows XP VirtualBox 实例上执行“wmic bios”时,它显示“等待安装结束”,并且该工具在成功安装后重新启动(因此初始过程完成)。之后的输出在Win7和WinXP下是一样的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-16
      • 2023-01-21
      • 1970-01-01
      • 2019-09-28
      • 1970-01-01
      • 1970-01-01
      • 2011-08-09
      • 2013-03-18
      相关资源
      最近更新 更多