如何获得修饰键事件(alt + ctrl + shift),

时间:2015-10-10 08:35:36

标签: winapi c++11

如果有人正在使用win32 API。请看下面的问题。 我需要在win32编程中同时按下修改键(alt + ctrl + shift)时调用一个函数。但是当我同时按下修改键时,我没有得到如何处理这个事件。 如果有人有任何想法,请发布。

2 个答案:

答案 0 :(得分:2)

要获取密钥的状态,有一个API GetKeyState。借助此功能,您可以检查按键是否已关闭。

例如:

if (GetKeyState(VK_SHIFT)& 0x8000)
   //Key is pressed

你也可以像这样检查组合:

if (GetKeyState(VK_SHIFT)& 0x8000 && GetKeyState(VK_CONTROL)& 0x8000)
   //ctrl+shift key is pressed.

答案 1 :(得分:0)

您应该处理WM_KEYDOWNWM_KEYUP条消息,并跟踪所有这些密钥的状态(向上或向下):VK_SHIFTVK_CONTROL,{{1} }。