一般来说,都可以从网上找到已经按USB协议的代码,以下为其中一份代码(DLL)(DLL和代码自己备份了,不方便上传)的使用的基本注意事项,以供参考:
功能说明:DLL被做成控件,识别指定PID和VID的usb,能识别多个,并且与其通信。
1. 将指定的PID和VID告诉DLL。以便DLL识别特殊device。
2. 重载OnHandleCreated,在其中向系统注册DLL(RegisterDeviceNotification),让系统广播通知device事项。
3. 重载WndProc函数,将消息传至DLL,让DLL能识别到USB消息。
DLL识别到消息后,DLL控件会触发特殊device插拔事件。
当特殊device收到广播信息(USB传来的数据)后,触发DLL控件的数据接收事件。此份代码中,特殊device需要将PID相对位置放入数据中告诉上位机。从而让上位机知道是哪个特殊device与他通信。
发送消息时,通过PID和VID找到需要发送消息的特殊device,然后发送消息。
注意:DLL消息发送和接收时,收个字节表示HID消息类型,为0x00,解析消息要放弃这个字节。