我有一些与使用 RIDEV_NOLEGACY 标志注册的原始输入设备相关的问题。
在我的输入类中,我创建一个线程,它创建一个仅消息窗口并注册原始输入设备。在另一个线程中,我创建一个用于 OpenGL 渲染的窗口。
一切正常,直到指定 no Legacy 标志。也许这只是我对 Windows API 的无知。我尝试通过 ::Set[Active,Foreground]Window hacks 来解决第一个问题,但没有效果。是否有正确的方法来处理这些问题,或者我应该避免禁用旧的键盘和鼠标消息?
小智 4
当您注册来自设备的原始输入时,无论您的窗口是前台还是后台,您都会获得原始数据。另一种说法是:您从设备获取所有应用程序窗口的原始输入。因此,如果您通过使用 RIDEV_NOLEGACY 标志来阻止生成旧版 Windows 消息,您将阻止为所有 Windows 生成旧版 Windows 消息。大多数 Windows 应用程序都依赖于这些旧消息才能正确运行。如果您的应用程序不是全屏应用程序,则使用 RIDEV_NOLEGACY 不是一个好主意。
归档时间: |
|
查看次数: |
2405 次 |
最近记录: |