RegisterShellHookWindow 함수(winuser.h)
[이 함수는 일반적인 용도로 사용되지 않습니다. 이후 버전의 Windows에서는 변경되거나 사용할 수 없습니다.]
지정된 셸 창을 등록하여 셸 애플리케이션에 유용한 이벤트 또는 알림에 대한 특정 메시지를 받습니다.
받은 이벤트 메시지는 지정된 창의 바탕 화면과 연결된 셸 창으로 전송된 메시지입니다. 대부분의 메시지는 SetWindowsHookEx 함수를 호출하고 후크 형식에 대한 WH_SHELL 지정한 후 받을 수 있는 메시지와 동일합니다. RegisterShellHookWindow와의 차이점은 메시지가 콜백 프로시저가 아니라 지정된 창의 WindowProc을 통해 수신된다는 것입니다.
구문
BOOL RegisterShellHookWindow(
[in] HWND hwnd
);
매개 변수
[in] hwnd
형식: HWND
셸 후크 메시지에 등록할 창에 대한 핸들입니다.
반환 값
형식: BOOL
함수가 성공하면 TRUE입니다. 그렇지 않으면 FALSE입니다.
설명
일반 창 메시지와 마찬가지로 창 프로시저의 두 번째 매개 변수는 메시지를 WM_SHELLHOOKMESSAGE 식별합니다. 그러나 이러한 Shell 후크 메시지의 경우 메시지 값은 WM_COMMAND 같은 다른 메시지 ID와 같이 미리 정의된 상수가 아닙니다. 다음과 같이 RegisterWindowMessage 호출을 사용하여 값을 동적으로 가져와야 합니다.
RegisterWindowMessage(TEXT("SHELLHOOK"));
이렇게 하면 컴파일 시간에 알려진 ID 값이 필요한 기존 switch 문을 사용하여 이러한 메시지를 처리할 수 없습니다. 셸 후크 메시지를 처리하는 경우 일반적인 방법은 switch 문의 기본 섹션에서 If 문을 코딩한 다음, 메시지 ID 값이 RegisterWindowMessage 호출에서 가져온 값과 동일한 경우 메시지를 처리하는 것입니다.
다음 표에서는 셸 후크 메시지의 창 프로시저에 전달된 wParam 및 lParam 매개 변수 값에 대해 설명합니다.
wParam | lParam |
---|---|
HSHELL_GETMINRECT | SHELLHOOKINFO 구조체에 대한 포인터입니다. |
HSHELL_WINDOWACTIVATED | 활성화된 창에 대한 핸들입니다. |
HSHELL_RUDEAPPACTIVATED | 활성화된 창에 대한 핸들입니다. |
HSHELL_WINDOWREPLACING | 최상위 창을 대체하는 창에 대한 핸들입니다. |
HSHELL_WINDOWREPLACED | 바꿀 창에 대한 핸들입니다. |
HSHELL_WINDOWCREATED | 생성되는 창에 대한 핸들입니다. |
HSHELL_WINDOWDESTROYED | 삭제되는 최상위 창에 대한 핸들입니다. |
HSHELL_ACTIVATESHELLWINDOW | 사용되지 않습니다. |
HSHELL_TASKMAN | 무시할 수 있습니다. |
HSHELL_REDRAW | 다시 그려야 하는 창에 대한 핸들입니다. |
HSHELL_FLASH | 깜박여야 하는 창에 대한 핸들입니다. |
HSHELL_ENDTASK | 강제로 종료해야 하는 창에 대한 핸들입니다. |
HSHELL_APPCOMMAND | 애플리케이션 또는 다른 후크에서 처리되지 않은 APPCOMMAND입니다. WM_APPCOMMAND 참조하고 GET_APPCOMMAND_LPARAM 매크로를 사용하여 이 매개 변수를 검색합니다. |
HSHELL_MONITORCHANGED | 다른 모니터로 이동한 창에 대한 핸들입니다. |
이 함수는 Windows XP SP1(서비스 팩 1) 및 Windows Server 2003까지 SDK 헤더 및 라이브러리에 포함되지 않았습니다. 이 함수에 대한 헤더 파일 및 가져오기 라이브러리가 없는 경우 LoadLibrary 및 GetProcAddress를 사용하여 함수를 호출할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | winuser.h(Windows.h 포함) |
라이브러리 | User32.lib |
DLL | User32.dll |
추가 정보
개념
기타 리소스
참조
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기