Win32 / .net提供的关键“和弦”功能是什么?

时间:2010-03-25 09:47:20

标签: winapi user-interface keyboard-shortcuts windows

多个MS应用程序支持和弦的概念,例如 CTRL + X Y ,这意味着“按住 CTRL ,按 X ,然后按 Y “。

这是他们(和其他公司)实施的定制产品,还是内置于任何API中?能够基于和弦设置事件处理程序或加速器而不是编写代码来做它会很好。

2 个答案:

答案 0 :(得分:0)

'加速器'支持正常按键加上 Shift Ctrl Alt 的任意组合。

根据您的要求,我认为您需要自己处理WM_KEYDOWNWM_KEYUP

答案 1 :(得分:0)

使用GetKeyAsyncState有几种解决方案,您可以从中直接导出当前上下键的键。跟踪每个WM_KEYUP / DOWN并不容易,大多数天真的解决方案都存在多个应用程序和多个线程的问题。

一种可能的解决方案是检测与加速器(即ctrl-Y)组合的“简单”部分,然后检查其他键(即X)是否在处理程序中停机。