WM_UNICHAR メッセージ

WM_UNICHAR メッセージは、アプリケーションが他のウィンドウに入力を投稿するために使用できます。 このメッセージには、押されたキーの文字コードが含まれています。 (ターゲット アプリが wParamUNICODE_NOCHAR に設定してメッセージを送信することで、WM_UNICHARメッセージを処理できるかどうかをテストします)。

#define WM_UNICHAR                      0x0109

パラメーター

wParam

キーの文字コード。

wParamUNICODE_NOCHARされ、アプリケーションがこのメッセージを処理する場合は、TRUE を返します DefWindowProc 関数は FALSE (既定値) を返します。

wParamUNICODE_NOCHARされていない場合は、FALSE を返します。 Unicode DefWindowProc は、同じパラメーターを持つ WM_CHAR メッセージを投稿し、ANSI DefWindowProc 関数は、対応する ANSI 文字を持つ 1 つまたは 2 つの WM_CHAR メッセージをポストします。

lParam

次の表に示すように、繰り返し数、スキャン コード、拡張キー フラグ、コンテキスト コード、前のキー状態フラグ、および遷移状態フラグ。

Bits 説明
0-15 現在のメッセージの繰り返し数。 値は、ユーザーがキーを押した結果としてキーストロークが自動レプリケートされる回数です。 キーストロークが十分に長く保持されている場合は、複数のメッセージが送信されます。 ただし、繰り返し数は累積されません。
16-23 スキャン コード。 値は OEM によって異なります。
24 キーが拡張キー (拡張 101 キーまたは 102 キー キーボードに表示される右側の Alt キーや Ctrl キーなど) であるかどうかを示します。 拡張キーの場合、値は 1 です。それ以外の場合は 0 です。
25-28 予約;は使用しません。
29 コンテキスト コード。 Alt キーを押しながら押すと、値は 1 になります。それ以外の場合、値は 0 です。
30 前のキーの状態。 メッセージが送信される前にキーがダウンしている場合は 1、キーがアップしている場合は 0 です。
31 遷移の状態。 キーが解放されている場合は 1、キーが押されている場合は 0 です。

詳細については、「 キーストローク メッセージ フラグ」を参照してください。

戻り値

このメッセージを処理する場合、アプリケーションは 0 を返す必要があります。

注釈

WM_UNICHAR メッセージはWM_CHARに似ていますが、Unicode 変換形式 (UTF)-32 を使用しますが、WM_CHARは UTF-16 を使用します。

このメッセージは、ANSI ウィンドウに Unicode 文字を送信またはポストするように設計されており、Unicode 補助プレーン文字を処理できます。

押されたキーと生成される文字メッセージの間には必ずしも 1 対 1 の対応が存在するとは限らないため、 lParam パラメーターの高次語の情報は一般にアプリケーションには役立ちません。 高次語の情報は、 WM_UNICHAR メッセージの投稿の前にある最新の WM_KEYDOWN メッセージにのみ適用されます。

拡張 101 キーキーボードと 102 キー キーボードの場合、拡張キーは、キーボードの メイン セクションの右 Alt キーと右 Ctrl キーです。クラスター内の INS、DEL、HOME、END、PAGE UP、PAGE DOWN キー、およびテンキーの左にある方向キー、およびテンキーの除算 (/) キーと ENTER キーです。 他の一部のキーボードでは、 lParam パラメーターの拡張キー ビットがサポートされている場合があります。

要件

要件
サポートされている最小のクライアント
Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows Server 2003 [デスクトップ アプリのみ]
Header
Winuser.h (Windows.h を含む)

こちらもご覧ください