首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C#中用于获取CPU in和驱动器/卷串行的API

C#中用于获取CPU in和驱动器/卷串行的API
EN

Stack Overflow用户
提问于 2008-10-29 20:31:52
回答 4查看 4.3K关注 0票数 4

我知道我可以通过查询WMI来获取物理驱动器的CPU标识符和卷序列号,但是WMI通常会占用其甜蜜的时间。如果有的话,还有其他更快的选择来检索这些信息吗?是否有Win32 API可以实现这一点?

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

  • Win32_Processor::ProcessorId
  • Win32_LogicalDisk::VolumeSerialNumber
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-05-11 23:44:41

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

顺便问一下,你想做什么?如果您想要为计算机实例生成唯一的键,请检查Codeproject的Sowkot的为许可目的的计算机生成唯一的键(指纹)帖子;它可以给您一些提示(也可以阅读注释)。

票数 2
EN

Stack Overflow用户

发布于 2009-05-12 19:18:46

您可以在windows注册表中查询驱动器信息,但不确定CPU的情况。您的问题似乎在这里得到了解决,所以q/a (演示了获取此信息的许多方法,但就速度而言,也许从注册表中获取它是最好的选择):

如何列出物理磁盘?

票数 2
EN

Stack Overflow用户

发布于 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中的示例代码

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/248305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档