RegisterShellHookWindow 関数 (winuser.h)

[この関数は、一般的な使用を目的としたものではありません。 それ以降のバージョンの Windows では、変更または使用できない場合があります。

シェル アプリケーションに役立つイベントまたは通知の特定のメッセージを受信するように、指定されたシェル ウィンドウを登録します。

受信したイベント メッセージは、指定されたウィンドウのデスクトップに関連付けられているシェル ウィンドウに送信されるイベント メッセージのみです。 メッセージの多くは、 SetWindowsHookEx 関数を呼び出し、フックの種類 にWH_SHELL を指定した後に受信できるメッセージと同じです。 RegisterShellHookWindow との違いは、メッセージがコールバック プロシージャではなく、指定されたウィンドウの WindowProc を介して受信される点です。

構文

BOOL RegisterShellHookWindow(
  [in] HWND hwnd
);

パラメーター

[in] hwnd

型: HWND

シェル フック メッセージに登録するウィンドウへのハンドル。

戻り値

種類: BOOL

関数が成功した場合は TRUE。それ以外の場合は FALSE

注釈

通常のウィンドウ メッセージと同様に、ウィンドウ プロシージャの 2 番目のパラメーターはメッセージを WM_SHELLHOOKMESSAGEとして識別します。 ただし、これらのシェル フック メッセージの場合、メッセージ値は 、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 Service Pack 1 (SP1) と Windows Server 2003 まで SDK ヘッダーとライブラリに含まれていませんでした。 この関数のヘッダー ファイルとインポート ライブラリがない場合は、 LoadLibraryGetProcAddress を使用して関数を呼び出すことができます。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー winuser.h (Windows.h を含む)
Library User32.lib
[DLL] User32.dll

関連項目

概念

DeregisterShellHookWindow

その他のリソース

リファレンス

SetWindowsHookEx

ShellProc

メッセージとメッセージ キューの使用

WinEvents

WindowProc

Windows