在Windows XP/Vista/7上检索SD卡序列号?

3
SD卡上有制造商的序列号,在网络上有许多页面描述如何在各种移动设备(包括这个)上检索它。但我需要在桌面版本的Windows下检索它,而适用于Windows移动版本的代码似乎无法转换。
问题是:如何从桌面Windows下编程检索SD卡制造商的序列号?
编辑:据我了解,可以使用DeviceIoControlIOCTL_SFFDISK_DEVICE_COMMAND发送来自SD卡规格的命令10来执行此操作,但它不可靠--它仅适用于某些非USB读卡器,并且仅适用于这些读卡器的某些驱动程序。这使其对我们的目的毫无用处。也许其他人可以从这些信息中获得一些有用的东西。

我的问题是你是否确信可以以可靠的方式完成它,也就是说,你是否知道已经有任何软件可以做到这一点? - Mahmoud Al-Qudsi
截至本问题提问时,我无法找到任何可靠的方法来实现它。不过已经有几年了,技术可能已经成熟。 - Head Geek
不,我也没有找到其他可靠的软件可以做到这一点。 - Head Geek
1个回答

1

你可以使用SetupDiXXX api调用(请参见此Code Project示例)或者使用WMI查询来实现这个功能。

我不太熟悉使用WMI查询,但是我相信网上有很多相关的信息。

使用SetupDiXXX方法,你可以查询特定类别的已连接设备(你需要查找SD卡的设备类别),然后枚举计算机中存在的设备,并读取制造商序列号。

关于SetupDiXXX函数的参考,请参见以下内容:


谢谢,但看起来没有可靠的方法来做。我正在编辑问题以解释我发现了什么。 - Head Geek

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接