MFC USB HID
MFC做USB HID上位机程序,背景不表,直接开始。 建立个Project; 执行Visual C++ Project|Settings,打开Link选项卡,在Category中选择Input,在Object/library modules中输入hid.lib setupapi.lib; 在应用程序一个文档内引用头文件,如: extern " C " { // Declare the C libraries used #include " hidsdi.h " // Must link in hid.lib #include < setupapi . h > // Must link in setupapi.lib } 为方便起见,a_nothing直接拷贝hidpi.h, hidsdi.h, hidusagee.h, hidsdi.lib, setupapi.lib进工程文件夹。 接下来调用API函数,完成需求。 说几个遇到的问题: 应用程序调用ReadFile()函数时,缓冲区是空的,应用程序的执行进程会停止。直到有报表,或Ctrl+Alt+Del关闭应用程序,或是从总线上移除设备。 有仨方法解决: 1. 设备继续发数据; 2. 使用重叠(overlapped)选项ReadFile读取; 3. 使用多线程执行ReadFile读取。 在此采用创建个线程读取