免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
delphi 低級(jí)鍵盤(pán)鉤子

delphi 低級(jí)鍵盤(pán)鉤子

作者: BccSafe 分類(lèi): Code[Delphi] 發(fā)布時(shí)間: 2013-12-28 23:35 ? 6沒(méi)有評(píng)論

最近老有人趁我不在的時(shí)候動(dòng)我電腦

于是打算寫(xiě)了鎖屏的程序出來(lái),正好溫習(xí)下鉤子

一開(kāi)始偷懶,打算用低級(jí)鍵盤(pán)/鼠標(biāo)鉤子

因?yàn)椴挥迷賹?xiě)個(gè)Dll出來(lái),可以直接在EXE里掛鉤

但是缺點(diǎn)也很明顯,ctrl+alt+del這樣的組合鍵沒(méi)辦法屏蔽

把整理出來(lái)的源代碼貼上

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
//對(duì)照C語(yǔ)言的資料轉(zhuǎn)換為delphi的格式
  const WH_KEYBOARD_LL = 13;
  type
    PBDLLHOOKSTRUCT = ^TBDLLHOOKSTRUCT;
    TBDLLHOOKSTRUCT = record
    vkCode: DWORD;
    scanCode: DWORD;
    flags: DWORD;
    time: DWORD;
    dwExtraInfo: DWORD;
  end;
var
  KeyBoardHook: HHOOK = 0;
  MouseHook: HHook = 0;
function KeyboardProc(nCode: Integer;
  WParam: WPARAM;LParam: LPARAM):LRESULT; stdcall;
begin
  //屏蔽Alt+F4,Alt+Tab,Alt+Esc,左右WIN鍵
  //ctrl+alt+del未屏蔽
  if (nCode = HC_ACTION) then
  begin
    case wParam of
    WM_KEYDOWN, WM_SYSKEYDOWN,
    WM_KEYUP, WM_SYSKEYUP:
    begin
      if (PBDLLHOOKSTRUCT(lParam)^.vkCode = VK_LWIN) or
      (PBDLLHOOKSTRUCT(lParam)^.vkCode = VK_RWIN) or
      (PBDLLHOOKSTRUCT(lParam)^.vkCode = VK_TAB) or
      (PBDLLHOOKSTRUCT(lParam)^.vkCode = VK_CONTROL) or
      (PBDLLHOOKSTRUCT(lParam)^.vkCode = VK_Menu) or
      (PBDLLHOOKSTRUCT(lParam)^.vkCode = VK_F4) or
      (PBDLLHOOKSTRUCT(lParam)^.vkCode = VK_ESCAPE)
      then
      begin
        result := 1;
        exit;
      end;
      end;
    end;
  end;
  result := CallNextHookEx(0, ncode, wparam, lparam);
end;
function MouseProc(nCode:Integer; WParam:WPARAM; LParam:LPARAM):LRESULT; stdcall;
begin
  //鎖定鼠標(biāo)
  Result:=1;
  if nCode<>0 then Result:= CallNextHookEx(0, nCode, WParam, LParam);
end;
procedure StartHook;
begin
  KeyBoardHook := SetWindowsHookEx(WH_KEYBOARD_LL, KeyboardProc, HInstance, 0);
  MouseHook    := SetWindowsHookEx(WH_MOUSE_LL, MouseProc,HInstance,0);
  if (KeyBoardHook = 0) or (MouseHook = 0) then halt;
end;
procedure EndHook;
begin
  if KeyBoardHook <> 0 then UnhookWindowsHookEx(KeyBoardHook);
  if MouseHook <> 0 then UnhookWindowsHookEx(MouseHook);
end;

 

 

本文出自 BccSafe's Blog,轉(zhuǎn)載時(shí)請(qǐng)注明出處及相應(yīng)鏈接。

本文永久鏈接: http://www.bccsafe.com/?p=431

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
VC 中鍵盤(pán)鉤子和鼠標(biāo)鉤子
通過(guò)api和鍵盤(pán)鉤子徹底屏蔽任務(wù)條和開(kāi)始菜單
屏蔽Win鍵、Alt Tab鍵的響應(yīng)
用HOOK禁用鼠標(biāo)與鍵盤(pán)點(diǎn)擊
WINDOWS的鉤子函數(shù)知識(shí)與匯編實(shí)例 一
java 監(jiān)聽(tīng) 鍵盤(pán) 全局
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服