|
며칠전에 이걸로 제가 고민한 적이 있어서, 허접임에도 답변드립니다.
어제 제가 올려둔 컴포넌트가 있습니다. wingod.zip
메뉴중에 컴포넌트에 가서 받으세요.
컴포넌트 zip 파일을 받으신후
압축을 풀어서 *.dll은 windows\system 에 넣으십시요.
나머지 *pas,*.dcr은 빌더내의 적당한 폴더를 만들어 넣으십시요.
메뉴중에 component의 install component에서
unit file name을 browse 하여, 위 WinGod.pas로 지정하십시요.
작은 창이 뜨면, 거기서 compile후 install 누르십시요.
그럼 설치됩니다.
설치하시면 component가 하나 만들어집니다.
WinGod 하나 생기죠.
그것을 원하시는 form에 놓아보시면..
이벤트가 OnKeybrdMsg, OnMouseMsg 가 생깁니다.
프로퍼티는 KeybrdHookEnabled,MouseHookEnabled입니다.
두개를 조합해 쓰시면 됩니다.
생성, 소멸시에는..
rasWinGod1->SetKBHook(); or SetMouseHook()
rasWinGod1->RemoveMouseHook(); or rasWinGod1->RemoveKBHook(); 쓰시구요.
즉, 버튼하나 만들어서 버튼 누르면
rasWinGod1->KeybrdHookEnabled = true; or false;하셔서
키보드훅을 기동/끄기하시고,
키값을 OnKeybrdMsg()에서
if(VK_Code == VK_F1)
Edit1->Text = "F1";
이런 식으로 쓰시면 됩니다.
박진우 님이 쓰신 글 :
: 안녕하세요?
: 염치없이 질문을 올립니다.
:
: 키보드 후킹하는 법을 알고 싶은데 제 힘으론 잘 안 되네요.
: dll을 만들어서 프로그램에서 불러서 써야 글로벌하게 적용이 된다는데..
: 암튼 넘 힘들어요.
: 혹시 글로벌 시스템 키보드 후킹한 값을 edit 박스등에 출력하는 예제가 있으시면
: 좀 올려주시면.. 안 될런지요?
: 계속 붙잡고 있는데.. 제대로 되지도 않고..
: 꼭 좀 부탁 드립니다...
:
|