Share via


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 호출에서 가져온 값과 동일한 경우 메시지를 처리하는 것입니다.

다음 표에서는 셸 후크 메시지의 창 프로시저에 전달된 wParamlParam 매개 변수 값에 대해 설명합니다.

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 헤더 및 라이브러리에 포함되지 않았습니다. 이 함수에 대한 헤더 파일 및 가져오기 라이브러리가 없는 경우 LoadLibraryGetProcAddress를 사용하여 함수를 호출할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 winuser.h(Windows.h 포함)
라이브러리 User32.lib
DLL User32.dll

추가 정보

개념

DeregisterShellHookWindow

기타 리소스

참조

SetWindowsHookEx

ShellProc

메시지 및 메시지 큐 사용

WinEvents

WindowProc

Windows