如何获得硬盘序列号在C或asm没有wmi

如何获得硬盘序列号(而不是在每次重新安装Windows时更改卷)在C或ASM,没有wmi(导致wmi需要pipe理权限)。 任何线索将是有益的,因为现在我没有发现任何网站在没有wmi的C,在寻找日子…谢谢你。 编辑:对于Windows系统

Solutions Collecting From Web of "如何获得硬盘序列号在C或asm没有wmi"

请尝试使用我的开源工具DiskId32,该工具的源代码位于http://www.winsim.com/diskid32/diskid32.html 。 我目前只有一个Win32版本。 也许有一天我会添加一个Win64版本。

硬盘序列号和硬盘的其他信息,如固件版本等,只能使用SMART获得,据我所知,需要特殊的ioctl到块设备节点(/ dev / sda或/ dev / sdb)通常对于普通用户是不可用的。

我知道有一个名为smartctl的工具,它正是这样做的:

 sudo smartctl -i /dev/sda 

存在类似的工具(hdparm,lshw等)。

至于试图找出这个信息,而不是一个特权用户,它可能只有通过/ proc或/ sys暴露,我很怀疑目前正在做的SATA块设备驱动程序。