我知道我可以通过查询WMI来获取物理驱动器的CPU标识符和卷序列号,但是WMI通常会占用其甜蜜的时间。如果有的话,还有其他更快的选择来检索这些信息吗?是否有Win32 API可以实现这一点?
编辑:允许我澄清。根据CPU标识符,我指的是通过查询以下WMI实例属性获得的相同值:
发布于 2009-05-11 23:44:41
请记住,CPU的ID并不总是可用的。
顺便问一下,你想做什么?如果您想要为计算机实例生成唯一的键,请检查Codeproject的Sowkot的为许可目的的计算机生成唯一的键(指纹)帖子;它可以给您一些提示(也可以阅读注释)。
发布于 2009-05-12 19:18:46
您可以在windows注册表中查询驱动器信息,但不确定CPU的情况。您的问题似乎在这里得到了解决,所以q/a (演示了获取此信息的许多方法,但就速度而言,也许从注册表中获取它是最好的选择):
发布于 2011-02-16 21:48:53
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\软件\Microsoft\Windows NT\CurrentVersion\DigitalProductId
HKLM\软件\Microsoft\Windows NT\CurrentVersion\ProductId
HKLM\软件\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中的示例代码
https://stackoverflow.com/questions/248305
复制相似问题