我希望能够检测到USB键的插入。此外,如果我可以区分USB键A和USB键B,则会更好。最后,如果我可以使用某种硬件序列号、MAC地址或其他方式唯一标识密钥,则是最佳情况。
基本上,我正在考虑使用USB键作为硬件加密锁以解锁我的C#应用程序。
所有硬盘都有序列号,USB闪存驱动器也不例外。这篇文章提供了一个示例项目,展示了如何获取非易失性序列号(链接)。基本上,您只需要枚举系统驱动器并获取PNPDeviceID属性即可。
硬盘ID并不是唯一的。理论上可能是,但在实践中并非如此。这是没有任何破解、模拟器或特殊程序的情况下。
您需要检索密钥的硬件ID。
我不知道如何订阅插入事件,但您可以让用户单击按钮。