低階鍵盤鉤子到普通DLL鉤子的引數轉換

2021-04-13 01:15:19 字數 1585 閱讀 8020

lresult callback keyboardhookall(int ncode, wparam wparam, lparam lparam)

if(hwnd1 != null)

case vk_rwin:

case vk_lshift:

case vk_rshift:

case vk_shift:

case vk_escape:

case vk_control:

case vk_lcontrol:

case vk_rcontrol:

case vk_delete:

case vk_next:

case vk_prior:

case vk_home:

case vk_end:

case vk_left:

case vk_right:

}break;

case wm_keyup:

case wm_syskeyup:

switch (pkbdllhook->vkcode)

case vk_rwin:

case vk_lshift:

case vk_rshift:

case vk_shift:

case vk_control:

case vk_lcontrol:

case vk_rcontrol:

case vk_delete:

case vk_next:

case vk_prior:

case vk_home:

case vk_end:

case vk_left:

case vk_right:

}break;

}//short b = getkeystate(vk_capital);

//short c = getasynckeystate(vk_capital);

if( getkeystate(vk_capital) & 1)

pkey->ckeys[vk_capital] =  1;

else

pkey->ckeys[vk_capital] =  0;

/*  if((pkey->wparam == 0x56 || pkey->wparam == 0x43) && pkey->ckeys[vk_control] & 0x80)

return callnexthookex(hexehook, ncode, wparam, lparam);*/

if(pkey->ckeys[vk_lwin] & 0x80 || pkey->ckeys[vk_rwin] & 0x80)

return callnexthookex(hexehook, ncode, wparam, lparam);

ret = onchar1(pkbdllhook->scancode);

}return ret!=2 ? ret :

callnexthookex( hexehook, ncode, wparam, lparam );

}return callnexthookex(hexehook, ncode, wparam, lparam);

}

VC實現的全域性鍵盤鉤子

鍵盤鉤子的功能就是監視系統按鍵動作,這是一種很有用的技術,在一些工程專案中,有監視人員操作動作的需求,便於定位故障原因。也可以用於實現密碼監視等黑客行為。鉤子分執行緒專用鉤子和全域性鉤子,執行緒專用鉤子只能勾到本執行緒的訊息,而全域性鍵盤鉤子能勾到所有系統訊息,功能非常強大,所以用得不好也很容易引起...

關於鍵盤鉤子的問題,請教大家

關於鍵盤鉤子的問題,請教大家 delphi windows sdk api function starthookmouse boolean const wh mouse ll 14 begin if hhklowlevelmouse 0 then hhklowlevelmouse setwindow...

給DLL初學者 全程鍵盤鉤子的一種簡單實現

隨著中介軟體技術的發展,dll越來越為程式設計師所關注,因為使用 dll具有一系列優點,所以程式設計人員可能更多的在自己的軟體中採用這種技術。下面我就把以前做過的乙個簡單的全程鍵盤鉤子分析一下。鉤子 以下簡稱 hook 是應用程式在 microsoft windows 訊息處理過程中設定的用來監控訊...