WM_CANCELJOURNAL メッセージ
警告
ジャーナリング フック API は、Windows 11以降サポートされておらず、今後のリリースで削除される予定です。 このため、代わりに SendInput TextInput API を呼び出すように強くお勧めします。
ユーザーがアプリケーションのジャーナリング アクティビティを取り消したときにアプリケーションに投稿されます。 メッセージは NULL ウィンドウ ハンドルで投稿されます。
#define WM_CANCELJOURNAL 0x004B
パラメーター
-
wParam
-
このパラメーターは使用されません。
-
lParam
-
このパラメーターは使用されません。
戻り値
型: void
このメッセージは値を返しません。 これは、ウィンドウ プロシージャではなく、アプリケーションのメイン ループまたは GetMessage フック プロシージャ内から処理されることを意図しています。
注釈
ジャーナル レコードと再生モードは、アプリケーションがユーザー入力を順番に記録または再生できるようにするシステムに課されるモードです。 システムは、アプリケーションが JournalRecordProc または JournalPlaybackProc フック プロシージャをインストールするときに、これらのモード に 入ります。 システムがこれらのジャーナリング・モードのいずれかに入っている場合、アプリケーションは順番に入力キューから入力を読み取る必要があります。 システムがジャーナル・モードの間にいずれかのアプリケーションが入力の読み取りを停止すると、他のアプリケーションは強制的に待機します。
1 つのアプリケーションで応答できない堅牢なシステムを確保するために、ユーザーが Ctrl + Esc キーまたは Ctrl + Alt + DEL キーを押すと、システムはジャーナリング アクティビティを自動的に取り消します。 その後、システムはジャーナリング フック プロシージャのフックを解除し、null ウィンドウ ハンドルを含むWM_CANCELJOURNAL メッセージを、ジャーナリング フックを設定するアプリケーションにポストします。
WM_CANCELJOURNAL メッセージには NULL ウィンドウ ハンドルがあるため、ウィンドウ プロシージャにディスパッチできません。 アプリケーションにWM_CANCELJOURNAL メッセージを表示するには、次の 2 つの方法があります。アプリケーションが独自のメイン ループで実行されている場合は、GetMessage または PeekMessage の呼び出しと DispatchMessage の呼び出しの間でメッセージをキャッチする必要があります。 アプリケーションが独自のメイン ループで実行されていない場合は、メッセージを監視する GetMsgProc フック プロシージャ (WH_GETMESSAGE フックの種類を指定する SetWindowsHookEx の呼び出しを介して) を設定する必要があります。
アプリケーションに WM_CANCELJOURNAL メッセージが表示されると、ユーザーが意図的にジャーナル レコードまたは再生モードを取り消し、システムがジャーナル レコードまたは再生フックプロシージャのフックを既に解除したという 2 つのことが想定されます。
上記のキーの組み合わせ (Ctrl + Esc または Ctrl + Alt + DEL) により、システムによってジャーナリングが取り消されることに注意してください。 1 つのアプリケーションが応答しなくなった場合は、ユーザーに回復手段を提供します。 VK_CANCEL仮想キー コード (通常は Ctrl + BREAK キーの組み合わせとして実装されます) は、ジャーナル レコード モードのアプリケーションが、ユーザーがジャーナリング アクティビティを取り消すシグナルとしてwatchする必要があります。 違いは、 VK_CANCEL の監視は、ジャーナリング アプリケーションの推奨される動作であるのに対し、Ctrl + Esc キーまたは Ctrl + Alt + DEL キーを押すと、ジャーナリング アプリケーションの動作に関係なく、システムはジャーナリングを取り消します。
必要条件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows 2000 Server [デスクトップ アプリのみ] |
ヘッダー |
|
関連項目