다음을 통해 공유


후크

후크는 애플리케이션이 서브루틴을 설치하여 시스템의 메시지 트래픽을 모니터링하고 대상 창 프로시저에 도달하기 전에 특정 유형의 메시지를 처리할 수 있는 시스템 메시지 처리 메커니즘의 한 지점입니다.

섹션 내용

속성 Description
후크 개요 후크를 사용하는 방법에 대해 설명합니다.
후크 사용 후크와 연결된 작업을 수행하는 방법을 보여 줍니다.
후크 참조 API 참조를 포함합니다.

후크 함수

속성 Description
CallMsgFilter 지정된 메시지 및 후크 코드를 WH_SYSMSGFILTER 및 WH_MSGFILTER후크 프로시저와 연결된 후크 프로시저에 전달합니다.
CallNextHookEx 후크 정보를 현재 후크 체인의 다음 후크 프로시저에 전달합니다. 후크 프로시저는 후크 정보를 처리하기 전이나 후에 이 함수를 호출할 수 있습니다.
CallWndProc SetWindowsHookEx 함수와 함께 사용되는 애플리케이션 정의 또는 라이브러리 정의 콜백 함수입니다. 시스템은 창 프로시저를 호출하기 전에 이 함수를 호출하여 스레드로 전송된 메시지를 처리합니다.
CallWndRetProc SetWindowsHookEx 함수와 함께 사용되는 애플리케이션 정의 또는 라이브러리 정의 콜백 함수입니다. 시스템은 SendMessage 함수가 호출된 후 이 함수를 호출합니다. 후크 프로시저는 메시지를 검사할 수 있습니다. 수정할 수 없습니다.
CBTProc SetWindowsHookEx 함수와 함께 사용되는 애플리케이션 정의 또는 라이브러리 정의 콜백 함수입니다. 시스템은 창을 활성화, 생성, 파괴, 최소화, 최대화, 이동 또는 크기 조정하기 전에 이 함수를 호출합니다. 시스템 명령을 완료하기 전에 시스템 메시지 큐에서 마우스 또는 키보드 이벤트를 제거하기 전에 키보드 포커스를 설정하기 전에 또는 시스템 메시지 큐와 동기화하기 전에 CBT(컴퓨터 기반 학습) 애플리케이션은 이 후크 프로시저를 사용하여 시스템에서 유용한 알림을 받습니다.
DebugProc SetWindowsHookEx 함수와 함께 사용되는 애플리케이션 정의 또는 라이브러리 정의 콜백 함수입니다. 시스템은 모든 유형의 후크와 연결된 후크 프로시저를 호출하기 전에 이 함수를 호출합니다. 시스템은 디버그프로크 후크 프로시저에 호출할 후크에 대한 정보를 전달하여 정보를 검사하고 후크를 호출할 수 있는지 여부를 결정합니다.
ForegroundIdleProc SetWindowsHookEx 함수와 함께 사용되는 애플리케이션 정의 또는 라이브러리 정의 콜백 함수입니다. 포그라운드 스레드가 유휴 상태가 될 때마다 시스템에서 이 함수를 호출합니다.
GetMsgProc SetWindowsHookEx 함수와 함께 사용되는 애플리케이션 정의 또는 라이브러리 정의 콜백 함수입니다. 시스템은 GetMessage 또는 PeekMessage 함수가 애플리케이션 메시지 큐에서 메시지를 검색할 때마다 이 함수를 호출합니다. 검색된 메시지를 호출자에게 반환하기 전에 시스템은 메시지를 후크 프로시저에 전달합니다.
JournalPlaybackProc SetWindowsHookEx 함수와 함께 사용되는 애플리케이션 정의 또는 라이브러리 정의 콜백 함수입니다. 일반적으로 애플리케이션은 이 함수를 사용하여 JournalRecordProc 후크 프로시저에서 이전에 기록한 일련의 마우스 및 키보드 메시지를 재생합니다. JournalPlaybackProc 후크 프로시저가 설치되어 있으면 일반 마우스 및 키보드 입력이 비활성화됩니다.
JournalRecordProc SetWindowsHookEx 함수와 함께 사용되는 애플리케이션 정의 또는 라이브러리 정의 콜백 함수입니다. 함수는 시스템이 시스템 메시지 큐에서 제거한 메시지를 기록합니다. 나중에 애플리케이션은 JournalPlaybackProc 후크 프로시저를 사용하여 메시지를 재생할 수 있습니다.
KeyboardProc SetWindowsHookEx 함수와 함께 사용되는 애플리케이션 정의 또는 라이브러리 정의 콜백 함수입니다. 시스템은 애플리케이션이 GetMessage 또는 PeekMessage 함수를 호출하고 처리할 키보드 메시지(WM_KEYUP 또는 WM_KEYDOWN)가 있을 때마다 이 함수를 호출합니다.
LowLevelKeyboardProc SetWindowsHookEx 함수와 함께 사용되는 애플리케이션 정의 또는 라이브러리 정의 콜백 함수입니다. 시스템은 새 키보드 입력 이벤트가 스레드 입력 큐에 게시될 때마다 이 함수를 호출합니다.
LowLevelMouseProc SetWindowsHookEx 함수와 함께 사용되는 애플리케이션 정의 또는 라이브러리 정의 콜백 함수입니다. 시스템은 새 마우스 입력 이벤트가 스레드 입력 큐에 게시될 때마다 이 함수를 호출합니다.
MessageProc SetWindowsHookEx 함수와 함께 사용되는 애플리케이션 정의 또는 라이브러리 정의 콜백 함수입니다. 시스템은 입력 이벤트가 대화 상자, 메시지 상자, 메뉴 또는 스크롤 막대에서 발생하지만 입력 이벤트에 의해 생성된 메시지가 처리되기 전에 이 함수를 호출합니다. 후크 프로시저는 특정 애플리케이션 또는 모든 애플리케이션에서 만든 대화 상자, 메시지 상자, 메뉴 또는 스크롤 막대에 대한 메시지를 모니터링할 수 있습니다.
MouseProc SetWindowsHookEx 함수와 함께 사용되는 애플리케이션 정의 또는 라이브러리 정의 콜백 함수입니다. 시스템은 애플리케이션이 GetMessage 또는 PeekMessage 함수를 호출하고 처리할 마우스 메시지가 있을 때마다 이 함수를 호출합니다.
SetWindowsHookEx 애플리케이션 정의 후크 프로시저를 후크 체인에 설치합니다. 후크 프로시저를 설치하여 특정 유형의 이벤트에 대해 시스템을 모니터링합니다. 이러한 이벤트는 특정 스레드 또는 호출 스레드와 동일한 데스크톱의 모든 스레드와 연결됩니다.
ShellProc SetWindowsHookEx 함수와 함께 사용되는 애플리케이션 정의 또는 라이브러리 정의 콜백 함수입니다. 함수는 시스템에서 Shell 이벤트에 대한 알림을 받습니다.
SysMsgProc SetWindowsHookEx 함수와 함께 사용되는 애플리케이션 정의 또는 라이브러리 정의 콜백 함수입니다. 시스템은 입력 이벤트가 대화 상자, 메시지 상자, 메뉴 또는 스크롤 막대에서 발생하지만 입력 이벤트에 의해 생성된 메시지가 처리되기 전에 이 함수를 호출합니다. 함수는 시스템의 대화 상자, 메시지 상자, 메뉴 또는 스크롤 막대에 대한 메시지를 모니터링할 수 있습니다.
UnhookWindowsHookEx SetWindowsHookEx 함수에 의해 후크 체인에 설치된 후크 프로시저를 제거합니다.

후크 알림

속성 Description
WM_CANCELJOURNAL 사용자가 애플리케이션의 저널링 활동을 취소할 때 애플리케이션에 게시됩니다. 메시지는 NULL 창 핸들을 사용하여 게시됩니다.
WM_QUEUESYNC CBT 애플리케이션에서 WH_JOURNALPLAYBACK 프로시 저를 통해 전송된 다른 메시지와 사용자 입력 메시지를 구분하기 위해 전송됩니다.

후크 구조체

속성 Description
CBT_CREATEWND 창을 만들기 전에 WH_CBT 후크 프로시저 CBTProc에 전달된 정보를 포함합니다.
CBTACTIVATESTRUCT 창이 활성화되기 전에 WH_CBT 후크 프로시저 CBTProc에 전달된 정보를 포함합니다.
CWPRETSTRUCT WH_CALLWNDPROCRET 후크 프로시저 CallWndRetProc에 전달되는 메시지 매개 변수를 정의합니다.
CWPSTRUCT WH_CALLWNDPROC 후크 프로시저 CallWndProc에 전달되는 메시지 매개 변수를 정의합니다.
DEBUGHOOKINFO WH_DEBUG 후크 프로시저인 DebugProc에 전달된 디버깅 정보를 포함합니다.
EVENTMSG 시스템 메시지 큐로 전송된 하드웨어 메시지에 대한 정보를 포함합니다. 이 구조는 JournalPlaybackProc 콜백 함수에 대한 메시지 정보를 저장하는 데 사용됩니다.
KBDLLHOOKSTRUCT 하위 수준의 키보드 입력 이벤트에 대한 정보를 포함합니다.
MOUSEHOOKSTRUCT WH_MOUSE 후크 프로시저 MouseProc에 전달된 마우스 이벤트에 대한 정보를 포함합니다.
MOUSEHOOKSTRUCTEX WH_MOUSE 후크 프로시저 MouseProc에 전달된 마우스 이벤트에 대한 정보를 포함합니다.
MSLLHOOKSTRUCT 하위 수준 마우스 입력 이벤트에 대한 정보를 포함합니다.

SetWinEventHook