我正在寻找从c ++中的Windows上的USB记忆棒中检索序列号。
我找到了很多C#示例,c ++用于linux,但没有用于c ++和windows。
修改
答案 0 :(得分:6)
我有一篇关于如何在不使用WMI的情况下获取C ++卷的USB序列号的文章
http://oroboro.com/usb-serial-number/
有一个技巧,你必须匹配USB设备与磁盘卷。如果可以的话,你想避免使用WMI,因为它不可靠。
答案 1 :(得分:3)
如果需要C ++,那么你必须编写COM代码。与VB.NET代码相比有点不愉快,但MSDN library中有很好的示例,您只需要调整查询。
请注意,您链接到的示例 not 会返回设备本身的序列号,只返回设备上的文件系统。哪个好到可以得到它,USB设备没有序列号。
如果您正在考虑编写某种许可执行方案,则文件系统序列号很容易复制。如果这很重要,那么您应该使用专为此目的而设计的USB设备。加密狗。不可能破解。并且可以从制造商处获得用于验证许可证的C ++代码。
答案 2 :(得分:1)
序列号是HKLM\SYSTEM\CCS\Enum\USB\Vid_xxxx&Pid_yyyy