【问题标题】:APIs in C# for grabbing CPU IDs and drive/volume serialC# 中用于获取 CPU ID 和驱动器/卷序列号的 API
【发布时间】:2010-09-19 21:12:43
【问题描述】:

我知道我可以通过查询 WMI 来获取物理驱动器的 CPU 标识符和卷序列号,但 WMI 通常会花很多时间。如果有的话,还有哪些更快的选项可用于检索此信息?是否有 Win32 API 可以完成此操作?

编辑:请允许我澄清一下。通过 CPU 标识符,我指的是通过查询以下 WMI 实例属性获得的相同值:

  • Win32_Processor::ProcessorId
  • Win32_LogicalDisk::VolumeSerialNumber

【问题讨论】:

    标签: c# .net winapi wmi


    【解决方案1】:

    请记住,CPU 的 ID 并不总是可用的。

    顺便问一下,你想完成什么?如果您想为计算机实例生成唯一密钥,请查看 Codeproject 的 Sowkot Osman 的 Generating Unique Key (Finger Print) for a Computer for Licensing Purposes 帖子;它可以给你一些提示(也可以阅读 cmets)。

    【讨论】:

      【解决方案2】:

      您可以在 Windows 注册表中查询驱动器信息,但不确定 CPU。看来您的问题已在此 SO q/a 中得到解决(演示了多种获取此信息的方法,但为了速度,也许从注册表中获取它是您最好的选择):

      How to list physical disks?

      【讨论】:

        【解决方案3】:

        WMI 实际上从注册表中获取了很大一部分数据。该系统在其中存储了大量有关该系统的信息,并且响应速度显然非常快。

        如果您希望出于许可原因锁定到主板、CPU 和/或 HDD,请查看以下值:
        HKLM\HARDWARE\DESCRIPTION\System\BIOS\BaseBoardManufacturer
        HKLM\HARDWARE\DESCRIPTION\System\BIOS\BaseBoardProduct
        HKLM\HARDWARE\DESCRIPTION\System\CentralProcessor\0\Identifier
        HKLM\HARDWARE\DESCRIPTION\System\CentralProcessor\0\ProcessorNameString
        HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId
        HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductId
        HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\BuildLabEx
        HKLM\HARDWARE\DESCRIPTION\System\MultifunctionAdapter\0\DiskController\0\DiskPeripheral\0
        (可能特定于使用 RAID 的板)

        如果您想在没有 WMI 的情况下获取磁盘序列,请向物理驱动器设备发出 DeviceIoControl 调用。 VB.NET中的示例代码:http://www.dreamincode.net/code/snippet429.htm

        【讨论】:

          【解决方案4】:

          我喜欢GetSystemInfo,但这不包括物理驱动器..

          【讨论】:

          • GetSystemInfo 没有得到 Brian Cline 提到的 CPU ID
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-10-06
          • 2020-12-15
          • 2013-10-11
          • 2016-10-02
          • 2017-10-27
          • 1970-01-01
          相关资源
          最近更新 更多