C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[20897] Re:[질문] Keyboard Hooking에 대해서..
이영우 [userof] 1463 읽음    2002-08-20 09:32
며칠전에 이걸로 제가 고민한 적이 있어서, 허접임에도 답변드립니다.

어제 제가 올려둔 컴포넌트가 있습니다. 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 박스등에 출력하는 예제가 있으시면
: 좀 올려주시면.. 안 될런지요?
: 계속 붙잡고 있는데.. 제대로 되지도 않고..
: 꼭 좀 부탁 드립니다...
:

+ -

관련 글 리스트
20887 [질문] Keyboard Hooking에 대해서.. 박진우 841 2002/08/19
20897     Re:[질문] Keyboard Hooking에 대해서.. 이영우 1463 2002/08/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.