如何确定在 DirectInput 中断开的键盘

Posted

技术标签:

【中文标题】如何确定在 DirectInput 中断开的键盘【英文标题】:how to determine keyboard disconnected in DirectInput 【发布时间】:2012-02-17 18:44:12 【问题描述】:

我正在使用 EnumDevices(..., DIEDFL_ATTACHEDONLY) 监控 HID 连接。当我断开游戏控制器时,它不再出现在回调中。但是,当我断开键盘时,它仍然显示在 EnumDevices 中。

我查看了 API,但没有看到在哪里可以查询设备是否已连接。

【问题讨论】:

用户在使用您的应用程序时是否经常断开键盘? ;-) 我的应用程序将捕获所有键盘状态并将其复制到非 PC 平台上。这包括连接和断开连接。 【参考方案1】:

http://msdn.microsoft.com/en-us/library/windows/desktop/aa363432%28v=vs.85%29.aspx呢

您可以订阅任何设备通知,例如附加、分离等...

【讨论】:

由于我是一个控制台应用程序,我没有消息处理循环。是否有另一种选择,或者是否有一种简单的方法可以将消息循环添加到控制台应用程序。

以上是关于如何确定在 DirectInput 中断开的键盘的主要内容,如果未能解决你的问题,请参考以下文章

为啥我无法使用 DirectInput 获取键盘?

我应该使用 DirectInput 还是 Windows 消息循环?

directX directInput 键盘抛出 E_accessdenied

如何制作小游戏

C# DirectInput - 确定游戏手柄控制器类型

c++ win32 用 DirectInput 模拟按键