c++ - 检测按键按下和按键释放事件

标签 c++ c windows winapi

每当按键事件发生时,就会调用以下函数:

static LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam) {

   printf("Key is pressed !\n");
   // If key pressed down,call function A
   // If key released , call function B
}

如何检测这些事件?

按下的键可以是窗口键盘中的任何键。我只想知道某个键是被按下还是按下后被释放。我该怎么做?

最佳答案

static LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam) 
{
     if ( nCode >= 0 )
     {
         if ( wParam == WM_KEYDOWN  || wParam == WM_SYSKEYDOWN )
         {
             functionA();
         }
         else
         {
             functionB();
         }
     }
     return CallNextHookEx(hHook, nCode, wParam, lParam);
}

关于c++ - 检测按键按下和按键释放事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12881462/

相关文章:

c++ - 从 QML 连接到 C++ 信号

c - shm_open() 和 ftruncate() 的用途?

windows - obj文件夹上的Visual Studio 2017 Xamarin Build访问被拒绝

node.js - npm 安装旧版本的( typescript 编译器)包

c++ - 在 Netbeans 中使用 Eigen 库

c++ - 共享库导致段错误

c - 为什么 fopen 参数限制在 C 标准和 <stdio.h> 头文件中限定?

c++ - C++ 应用程序的端到端测试框架

Windows 批处理脚本获取当前驱动器名称

c++ - 为什么转换为引用会干扰到 bool 值的转换?