gpt4 book ai didi

windows - 提供 RIDEV_NOLEGACY 标志时的原始输入和窗口交互问题

转载 作者:可可西里 更新时间:2023-11-01 14:19:25 26 4
gpt4 key购买 nike

我有一些与使用 RIDEV_NOLEGACY 标志注册的原始输入设备有关的问题。

  • 当窗口处于非事件状态并且我通过鼠标单击将焦点设置到窗口时,获得焦点但窗口 z 顺序保持不变。 (这不会发生在 alt-tabbing 时)
  • 无法与窗口镶边交互(调整大小、标题栏按钮)

在我的输入类中,我创建了一个线程,该线程创建一个仅显示消息的窗口并注册原始输入设备。在另一个线程中,我创建了一个用于 OpenGL 渲染的窗口。

在指定 no legacy 标志之前一切正常。也许这只是我对 Windows API 的无知。我尝试通过::Set[Active,Foreground]Window hacks 解决第一个问题,但没有效果。是否有正确的方法来处理这些问题,或者我应该避免禁用旧的键盘和鼠标消息?

最佳答案

当您从设备注册原始输入时,无论您的窗口是前景还是背景,您都会获得该原始数据。另一种说法是:您从设备获取所有应用程序窗口的原始输入。因此,如果您通过使用 RIDEV_NOLEGACY 标志阻止生成遗留 Windows 消息,您将阻止为所有 Windows 生成遗留 Windows 消息。大多数 Windows 应用程序都依赖于这些遗留消息才能正常运行。如果您的应用程序不是全屏应用程序,则 RIDEV_NOLEGACY 不是一个好主意。

关于windows - 提供 RIDEV_NOLEGACY 标志时的原始输入和窗口交互问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9858570/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com