gpt4 book ai didi

c++ - 现代 Windows 输入 API/用户交互 API

转载 作者:可可西里 更新时间:2023-11-01 13:46:43 27 4
gpt4 key购买 nike

Windows 8.1 中提供了多种用户交互 API/技术:

  • 高级 GUI 框架(Windows 窗体、WPF 和许多其他第三方框架)
  • 直接操纵 – 可能也是高级
  • 指针输入消息和通知 ( MSDN link ) – 很有趣,但是键盘 API 模拟在哪里?
  • DirectInput/XInput – 标记为legacy
  • 原始输入 – 标记为旧版
  • WM_MOUSEMOVEWM_LBUTTONDOWNWM_KEYDOWN 等消息 – 标记为旧版
  • 其他,列于 this MSDN page

谁能给我简要介绍一下这些 API 并透露以下方面(针对每个方面):

  • 此 API 是基于另一个底层 API 还是在核心中实现?
  • 此 API 可以与哪些设备交互?
  • 是否有其他 API 未实现的独有功能?
  • 性能/开销注意事项:速度有多快(与其他产品相比)?

所以我正在寻找 native 最新的低级全功能输入API,它不会在即将到来的中过时 Windows 10,或最接近此需求的那些(如上所述)API 的组合。

谁能做一些比较表?

最佳答案

指针输入消息和通知似乎是众所周知的消息循环的扩展,以支持多点触控设备。您可以轻松地将其与标准键盘消息集成,以获得功能齐全的 API。正如 Retired Ninja 指出的那样,消息传递 API 可能比大多数“现代”API 更耐用。

我会避免任何与标准 WinAPI 不同的奇特新技术,因为这些范例似乎来来去去。使低级输入处理程序精简、松散耦合和标准化将有助于您的程序保持可维护性。

关于 Windows 消息传递 API 的一点是,每当引入新设备或功能时,它都会得到扩展,而且几乎是一致的。任何更高级别的接口(interface)一开始都可能不完整,然后过时,并且可能无论如何都基于 WinAPI 调用。

我已经放弃使用嵌套开关、多个 if...else 等使 WndProc 看起来不错。现在我将它保存在它自己的源文件中,它可以在其中完成将值传递给外部代码的肮脏工作。

关于c++ - 现代 Windows 输入 API/用户交互 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29326282/

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