갈고리 훅.
WINUSERAPI
HHOOK { ; 0 }
WINAPI
SetWindowsHookEx(
int idHook, { }
HOOKPROC lpfn, { }
HINSTANCE hmod, { (EXE、DLL) ; HInstance; 0}
DWORD dwThreadId); { ; GetCurrentThreadId ; 0 }
)
// idHook :
WH_MSGFILTER = -1; { ; }
WH_JOURNALRECORD = 0; { ; , ; }
WH_JOURNALPLAYBACK = 1; { ; WH_JOURNALRECORD , }
WH_KEYBOARD = 2; { ; }
WH_GETMESSAGE = 3; { ; }
WH_CALLWNDPROC = 4; { ; , SendMessage }
WH_CBT = 5; { ; , : 、 、 、 、 }
WH_SYSMSGFILTER = 6; { ; }
WH_MOUSE = 7; { ; }
WH_HARDWARE = 8; { ; ( 、 ) }
WH_DEBUG = 9; { ; , }
WH_SHELL = 10; { ; }
WH_FOREGROUNDIDLE = 11; { ; }
WH_CALLWNDPROCRET = 12; { ; , SendMessage }
WH_KEYBOARD_LL = 13; //(_WIN32_WINNT >= 0x0400)
WH_MOUSE_LL = 14; //(_WIN32_WINNT >= 0x0400)
저급 갈고리와 비저급 갈고리의 차이점: WH 로KEYBOARD_LL 및 WHKEYBOARD의 경우
갈고리의 위치가 다르다, WHKEYBOARD_LL은 WH 보다KEYBOARD 선촉발, WHKEYBOARD_LL은 시스템에서 당신의 리셋 함수를 호출합니다. WHKEYBOARD는 리셋 함수를 호출하기 위해 연결된 프로세스입니다.WHKEYBOARD는 프로세스를 삽입합니다. 전역 갈고리라면 모든 프로세스를 삽입합니다. WHKEYBOARD_LL은 프로세스를 삽입할 필요가 없습니다. (그래서 dll에 넣을 필요가 없고 exe에 넣어도 실행할 수 있다고 합니다. 테스트를 거치지 않았습니다.)
http://www.xiaozhou.net/ReadNews.asp?NewsID=909
, DLL , , SetWindowsHookEx ,
DLL , 。 , ,
、 、 。 , ,
、 、 。 , 。
、 、 :
1、 DLL def SECTIONS MyData READ WRITE SHARED
2、 /SECTION:MyData,rws
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.