大佬教程收集整理的这篇文章主要介绍了windows – 使用KBDLLHOOKSTRUCT确定第一次按键,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有办法判断最初是否按下了键?
BOOL wasDown; LRESULT CALLBACK LowLevelKeyboardProc(int nCode,WPARAM wParam,LPARAM lParam) { if (nCode == HC_ACTION) { LPKBDLLHOOKSTRUCT key = (LPKBDLLHOOKSTRUCT) lParam; if (key->vkCode == VK_SOMETHING) { switch (wParam) { case WM_KEYDOWN: case WM_SYSKEYDOWN: if (!wasDown) { // Processing on first key down wasDown = true; } break; case WM_KEYUP: case WM_SYSKEYUP: // Processing on key up wasDown = falSE; break; } } return CallNextHookEx(NULL,nCode,wParam,lParam); } wasDown = GetAsyncKeyState(VK_SOMETHING) < 0; hHook = SetWindowsHookEx(WH_KEYBOARD_LL,LowLevelKeyboardProc,hInstance,0);
当然,这段代码只能用于一个键.您可以使用一组标志来执行多个键.根据您的应用程序,如果您希望在设置挂钩后第一次按下,您还可以无条件地将标志设置为false.
以上是大佬教程为你收集整理的windows – 使用KBDLLHOOKSTRUCT确定第一次按键全部内容,希望文章能够帮你解决windows – 使用KBDLLHOOKSTRUCT确定第一次按键所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。