【问题标题】:Getting CPU ID Serial Number in Perl for win32在 Perl for win32 中获取 CPU ID 序列号
【发布时间】:2012-12-11 13:10:12
【问题描述】:

如何在不使用任何模块(可能使用系统调用或其他方式)的情况下在 perl 中为 windows 机器获取 CPU/处理器序列号或唯一 ID?

【问题讨论】:

    标签: windows perl cpu serial-number


    【解决方案1】:

    http://metacpan.org/pod/Win32::SystemInfo。没有模块,您可以学习该模块的源代码并使用它。您将看到模块从 kernel32.dll 导入函数 GetSystemInfo 并使用它,您可以以相同的方式进行操作

    【讨论】:

    • 谢谢,我试过了,但它并不能完全满足我的需要,我正在寻找 cpu/处理器非常独特的工厂序列号,采用长哈希的形式(例如:000006730002BD2B81B724F)虽然仍在测试它。有任何想法吗?问候
    • 使用严格;使用警告;使用 Data::Dumper;使用 Win32::WQL;我的 $wmi = Win32::WQL->new( machine => 'localhost' );我的 $sth = $wmi->prepare(execute;我的 $row = $s->fetchrow();打印 $row->{ProcessorId}
    • @Kostia:您应该在回答中提供此代码,它看起来真的很有用
    【解决方案2】:

    您无法获得 CPU 序列号。有一段时间,英特尔发布了一系列奔腾 III 处理器,每个芯片都有一个唯一的序列号。由于隐私问题,这对他们来说变成了公关混乱,他们在随后的处理器版本中停止了该组指令。

    但是,如果您正在为 Windows 安装寻找一个“唯一 ID”,并且大多数情况下都是唯一保证的,您可以尝试以下任何一种方法:

    1. 生成唯一的 GUID(uuidgen、CoCreateGuid),将其保存到注册表/磁盘,然后稍后再读回。

    2. 获取机器 SID。 http://www.perlmonks.org/?node_id=645077

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-12
      • 2010-09-19
      • 2010-09-13
      • 1970-01-01
      • 2011-01-13
      相关资源
      最近更新 更多