eLIB++EX支持库里的“安装键盘钩子”、love Hebe支持库的“安装全局键盘钩子”怎么使用?在括号里写什么?我的目的是想随便做个按键连发程序,没有例程,希望朋友们给我点提示,谢谢!
æè¯è¨å¦ï¼ä¸ç¥éæä¹å¼å¢ãæé®è¿åçè¯ï¼Windowsæ个APIå«åkeybd_eventï¼ä½ å¯ä»¥å¨é®çé©åçåè°å½æ°ä¸å¤æ¬¡æ¨¡ææé®å°±æ¯äºãè¿éæå®æ´C++é®çé©åçæºä»£ç ï¼å®ç°æ¹é®çãåçé½å·®ä¸å¤å¦ãã
LRESULT CALLBACK LowLevelKeyboardProc( int code, WPARAM wParam, LPARAM lParam) { if(code == HC_ACTION) { PKBDLLHOOKSTRUCT pStruct = (PKBDLLHOOKSTRUCT)lParam; DWORD dwIndex = 0; switch (pStruct->vkCode) { case L'A': case L'a': dwIndex = 0; break; case L'S': case L's': dwIndex = 1; break; case L'D': case L'd': dwIndex = 2; break; case L'W': case L'w': dwIndex = 3; break; default: return CallNextHookEx(g_hHook, code, wParam, lParam); } if (wParam == WM_KEYDOWN) { keybd_event(g_bVK[dwIndex], MapVirtualKey(g_bVK[dwIndex], 0), 0, 0); } else if (wParam == WM_KEYUP) { keybd_event(g_bVK[dwIndex], MapVirtualKey(g_bVK[dwIndex], 0), KEYEVENTF_KEYUP, 0); } return TRUE; } return CallNextHookEx(g_hHook, code, wParam, lParam); }å®æ´ç代ç å°±å»è¿éçå§ï¼ http://www.programlife.net/redirect-key-by-hook-keyboard.html
LRESULT CALLBACK LowLevelKeyboardProc( int code, WPARAM wParam, LPARAM lParam) { if(code == HC_ACTION) { PKBDLLHOOKSTRUCT pStruct = (PKBDLLHOOKSTRUCT)lParam; DWORD dwIndex = 0; switch (pStruct->vkCode) { case L'A': case L'a': dwIndex = 0; break; case L'S': case L's': dwIndex = 1; break; case L'D': case L'd': dwIndex = 2; break; case L'W': case L'w': dwIndex = 3; break; default: return CallNextHookEx(g_hHook, code, wParam, lParam); } if (wParam == WM_KEYDOWN) { keybd_event(g_bVK[dwIndex], MapVirtualKey(g_bVK[dwIndex], 0), 0, 0); } else if (wParam == WM_KEYUP) { keybd_event(g_bVK[dwIndex], MapVirtualKey(g_bVK[dwIndex], 0), KEYEVENTF_KEYUP, 0); } return TRUE; } return CallNextHookEx(g_hHook, code, wParam, lParam); }å®æ´ç代ç å°±å»è¿éçå§ï¼ http://www.programlife.net/redirect-key-by-hook-keyboard.html
温馨提示:答案为网友推荐,仅供参考