C++ 现代Windows输入API/用户交互API
Windows 8.1中提供了多种用户交互API/技术:C++ 现代Windows输入API/用户交互API,c++,c,windows,winapi,C++,C,Windows,Winapi,Windows 8.1中提供了多种用户交互API/技术: 高级GUI框架(Windows窗体、WPF和许多其他第三方框架) 直接操纵——可能也是高水平的 指针输入消息和通知()–很有意思,但是keybord API的类似物在哪里 DirectInput/XInput–标记为旧版 原始输入–标记为旧版 WM\u MOUSEMOVE,WM\u LBUTTONDOWN,WM\u KEYDOWN等消息–标记为遗留 其他,列在 有谁能给我简要介绍一下这些API,并揭示以下方面(针对每一个方面): 这
- 高级GUI框架(Windows窗体、WPF和许多其他第三方框架)
- 直接操纵——可能也是高水平的
- 指针输入消息和通知()–很有意思,但是keybord API的类似物在哪里
- DirectInput/XInput–标记为旧版
- 原始输入–标记为旧版
,WM\u MOUSEMOVE
,WM\u LBUTTONDOWN
等消息–标记为遗留WM\u KEYDOWN
- 其他,列在
- 这个API是基于另一个底层API还是在核心中实现的
- 此API可以与哪些设备交互
- 是否有其他API中未实现的专有功能
- 性能/开销考虑:它的速度有多快(与其他产品相比)
有人能做一些比较表吗?指针输入消息和通知似乎是众所周知的消息周期的延伸,以支持多点触控设备。您可以轻松地将其与标准键盘消息集成,以获得功能齐全的API。正如退休的忍者所指出的,消息传递API可能会比大多数“现代”API更持久 我会避免任何与标准WinAPI不同的新奇技术,因为这些范例似乎来来往往。使低级输入处理程序精简、松散耦合和标准化将有助于您的程序保持可维护性 Windows消息传递API的一个特点是,每次引入新设备或功能时,它都会得到扩展,这与它的一致性差不多。任何更高级别的接口起初都可能是不完整的,然后就过时了,而且无论如何都可能基于WinAPI调用
我已经放弃了让WndProc看起来很漂亮,使用嵌套开关、多if…else等。。现在我将它保存在自己的源文件中,在那里它可以完成将值传递给外部代码的肮脏工作。微软的文档从来都不是特别完整或正确的。但将其营销信号视为有意义的可能是正确的,因为这种印象通常是由科技作家传达的,无论是有意还是无意。微软用了两个Windows版本,接二连三的投诉,大概是销量下降,才恢复了“开始”菜单,但据我所知,当时只是半心半意地(还没有使用Windows 10)。就在那次崩溃之前,微软采取了极端的降价市场,修复了Vista的一些过剩。不管怎样,你所说的“这个API”是什么意思。请讲清楚。您列出了无数个API,并询问了一个未指明的特定API——哪个?我所说的“这个API”是指“我上面给出的列表中的每个API”。仅仅因为某些东西被标记为legacy并不意味着它将消失。Windows 10将需要使用那些已经存在的方法运行数以百万计的应用程序。@RetiredInja当然,但是当新的API/框架出现时,这意味着有更一致的方法来做事情。