±ÍÇÏ´Â ¼Õ´Ô À̽ʴϴÙ
·Î±×ÀÎ
ȸ¿ø°¡ÀÔ
  
  µ¨¸¶´ç °ø½Ä ÀºÇà°èÁÂ
  ÇϳªÀºÇà 227-910235-83607
  ¿¹±ÝÁÖ ÀÌ»ó±¹(¿î¿µÁø)
ÇÁ·ÎÁ§Æ® °Ô½ÃÆÇ
ÅõÇ¥°Ô½ÃÆÇ
µ¨¸¶´ç¼Ò°³
±âÃʺÎÅÍ È°¿ë±îÁö! µ¨ÆÄÀÌ ±³À° - µ¥ºê±â¾î
Áú¹®°ú ´äº¯ Áú¹®°ú ´äº¯ ÀÔ´Ï´Ù.
±Û³»¿ë - Áú¹®°ú ´äº¯
 Hook
³Ø½ººô
(Àåžç)
2017-02-24 ¿ÀÀü 5:57:59
654ȸ Á¶È¸


µî·ÏµÈ ÆÄÀÏÀÌ ¾ø½À´Ï´Ù.
Å°º¸µå ÈÄÅ·¿¡ ´ëÇؼ­ °øºÎ¸¦ÇÏ°í ÀÖ½À´Ï´Ù.
ÈÄÅ·À» ÇÏ·Á¸é À¯Àú¸ðµå Ä¿³Î¸ðµå¿¡¼­ ÇؾßÇÑ´Ù°íÇϴµ¥ ÀϹÝÀûÀ¸·Î ¾²´Â vclform ¿¡¼­´Â »ç¿ëÀÌ ¾ÈµÇ³ª¿ä?
ÀÌÄڵ尡 ÀǹÌÇϴ°ÍÀÌ ¾î¶²°ÍÀΰ¡¿ä ?  
type
    PKBDLLHOOKSTRUCT = ^TKBDLLHOOKSTURCUT;
    TKBDLLHOOKSTURCUT = record
    vkCode,
    scanCode,
    flag,
    time,
    dwExtraInfo; DWORD;
    end;

  private
    hhookCurrent : HHOOK;

end;

function KeyBoardProc(icode:integer; wParam: integer; Iparam:integer;):integer; stdcall;
var
  p: PKBDLLHOOKSTUCT;
  fEatKeystroke : Boolean;
  begin
  fEatKeystroke := False;
  if(icode = HC_ACTION) then
  begin
    case(wParam)of
    WM_KEYDOWN, WM_SYSKEYDOWN, WM_KEYUP, WM_SYSKEYUP :
    begin
        p := PKBDLLHOOKSTUCT(IParm);
        fEatKeyStroke := (p^.vkCode = VK_TAB) and ((p^.flag and $00000020)<> 0) or
                          (p^.vkCode = VK_ESCAPE) and ((p^.flag and $00000020)<> 0) or
                          (p^.vkCode = VK_F4) and ((p^.flag and $00000020)<> 0) or
                          (p^.vkCode = VK_ESCAPE) and ((GetKeyState(VK_CONTROL)and 8000) <> 0) or
                          (p^.vkCode = vk_LWIN) or
                          (p^.vkCode = vk_RWIN) or
                          (p^.vkCode = vk_CONTROL) or
                          (p^.vkCode = vk_MENU) or
     end;
    end;
  end;

  if fEatKeystroke then
  result := 1
  else
  result := CallNextHooEx(0, iCode, wParam, IParam);
  end;

procedure TTwebBrowser_Form.FormCreate(Sender: TObject);
begin
hhookCurrent := SetWindowsHooEx(13,@KeyBoardProc, HInstance, 0);
end;

procedure TTwebBrowsser_From.FormDestroy(Sender : TObject);
begin
ExitWindows(Ewx_force, 0);
end;