我有一个USB接口的键盘,想在程序中探测到键盘是插上了还是拔除了的事件,如何探测,请您指教!

解决方案 »

  1.   

    处理WM_DEVICECHANGE消息应该可以
      

  2.   

    WM_DEVICECHANGE消息只是表明设备有了改变,没有指明是键盘插拔了还是鼠标插拔了。我就想知道键盘插拔的事件。
      

  3.   

    在消息的lparam参数里有消息相关的结构
    比如DBT_DEVICEARRIVAL消息的相关数据是一个DEV_BROADCAST_HDR结构,里面有很多信息,包括总类等等,具体的你参考MSDN
      

  4.   

    在处理WM_DEVICECHANGE时,你可以检测指定的设备是否存在啊
      

  5.   

    ajn_sailing(我心飞翔) ,请问如何检测指定的设备(如USB设备)是否存在啊
      

  6.   

    我曾经作过USB钥匙方面的开发,它的开发包里面有接口;
    至于你说的USB接口的键盘,它带开发包吗?
      

  7.   

    可以用GetKeyboardType,不能正确的返回说明被拔掉了
      

  8.   

    今天正好做了一个,是usb的mouse。
    你需要用RegisterDeviceNotification注册一下,传你这个键盘的interface GUID,这个GUID可以在注册表里查到
    然后在WM_DEVICECHANGE里就能拿到必要的信息了