鍵盤鉤子修改鍵值

在修改鍵值的時候,需要掛住WH_GETMSG 掛住WM_KEYBORD是不可以的。一個按鍵 你會不清楚對方使用WM_KEYdwon KEYUP WM_CHAR哪個消息的,最好全部掛鉤



#define DLL_EXPORTS



#include"keyboard.h"


HMODULE CHookKeyBord::s_DllHandle = NULL;
HHOOK   CHookKeyBord::m_hKeyBordHook = NULL;


LRESULT CHookKeyBord::KeyboardProc(int cCode, WPARAM wParam, LPARAM lParam )
{
    MSG* msg = (MSG*) lParam;
     cout<<" msg "<<msg->wParam<<endl;
    if(msg->message == WM_KEYDOWN || msg->message == WM_KEYUP ||msg->message == WM_CHAR)
    {
        msg->wParam += 1;
        cout<<msg->wParam<<endl;
        return 1;
    }
    return CallNextHookEx(CHookKeyBord::m_hKeyBordHook,cCode,wParam,lParam);
}
CHookKeyBord::CHookKeyBord()
{
    
}


CHookKeyBord::~CHookKeyBord()
{


}
void CHookKeyBord::SetKeyBordHook(DWORD dwPid /* = 0 */)
{
    CHookKeyBord::m_hKeyBordHook = SetWindowsHookEx(WH_GETMESSAGE,CHookKeyBord::KeyboardProc,CHookKeyBord::s_DllHandle,dwPid);
}




BOOL WINAPI DllMain(__in HANDLE _HDllHandle, __in DWORD _Reason, __in_opt LPVOID _Reserved)
{
    CHookKeyBord::s_DllHandle =(HMODULE) _HDllHandle;
    return true;
}
發佈了138 篇原創文章 · 獲贊 11 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章