我有几个与使用RIDEV_NOLEGACY标志注册的原始input设备有关的问题。
在我的input类中,我创build了一个线程,它创build一个消息窗口并注册原始input设备。 在另一个线程中,我创build了一个用于OpenGL渲染的窗口。
一切工作正常,直到没有遗产标志被指定。 也许这只是我对Windows API的无知。 我试着通过:: Set [Active,Foreground] Window hacks来解决第一个问题。 有没有正确的方法来处理这些问题,或者我应该避免禁用传统的键盘和鼠标信息?
当你注册一个设备的原始输入时,你可以得到原始数据,无论你的窗口是前景还是背景。 另一种方法是:您可以从设备获取所有应用程序窗口的原始输入。 因此,如果您通过使用RIDEV_NOLEGACY标志防止生成传统Windows消息,则将阻止为所有Windows生成传统Windows消息。 大多数Windows应用程序依赖于这些传统消息才能正确运行。 如果您的应用程序不是全屏应用程序,则RIDEV_NOLEGACY不是一个好主意。