WM_APPCOMMAND メッセージ
ユーザーが (たとえば、マウスを使用してアプリケーション コマンド ボタンをクリックしたり、キーボードでアプリケーション コマンド キーを入力したりして) アプリケーション コマンド イベントを生成したことをウィンドウに通知します。
#define WM_APPCOMMAND 0x0319
パラメーター
-
wParam
-
ユーザーがボタンをクリックするか、キーを押したウィンドウへのハンドル。 メッセージを受信するウィンドウの子ウィンドウを指定できます。 このメッセージの処理の詳細については、「解説」セクションを参照してください。
-
lParam
-
次のコードを使用して、lParam パラメーターに含まれる情報を取得します。
cmd = GET_APPCOMMAND_LPARAM(lParam); uDevice = GET_DEVICE_LPARAM(lParam); dwKeys = GET_KEYSTATE_LPARAM(lParam);
アプリケーション コマンドは cmd であり、次のいずれかの値を指定できます。
値 説明 - APPCOMMAND_BASS_BOOST
- 20
低音ブーストのオンとオフを切り替えます。 - APPCOMMAND_BASS_DOWN
- 19
低音を下げます。 - APPCOMMAND_BASS_UP
- 21
低音を上げます。 - APPCOMMAND_BROWSER_BACKWARD
- 1
前に移動します。 - APPCOMMAND_BROWSER_FAVORITES
- 6
お気に入りを開きます。 - APPCOMMAND_BROWSER_FORWARD
- 2
次に移動します。 - APPCOMMAND_BROWSER_HOME
- 7
ホームに移動します。 - APPCOMMAND_BROWSER_REFRESH
- 3
ページを更新します。 - APPCOMMAND_BROWSER_SEARCH
- 5
検索を開きます。 - APPCOMMAND_BROWSER_STOP
- 4
ダウンロードを中止します。 - APPCOMMAND_CLOSE
- 31
ウィンドウ (アプリケーションではない) を閉じます。 - APPCOMMAND_COPY
- 36
選択範囲をコピーします。 - APPCOMMAND_CORRECTION_LIST
- 45
音声入力中に単語が誤って識別されたときに、修正候補の一覧を表示します。 - APPCOMMAND_CUT
- 37
選択範囲を切り取ります。 - APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE
- 43
音声入力の 2 つのモード (ディクテーションとコマンド/コントロール (アプリケーションへのコマンドの指定またはメニューへのアクセス)) の間で切り替えます。 - APPCOMMAND_FIND
- 28
[検索] ダイアログを開きます。 - APPCOMMAND_FORWARD_MAIL
- 40
メール メッセージを転送します。 - APPCOMMAND_HELP
- 27
[ヘルプ] ダイアログを開きます。 - APPCOMMAND_LAUNCH_APP1
- 17
App1 を起動します。 - APPCOMMAND_LAUNCH_APP2
- 18
App2 を起動します。 - APPCOMMAND_LAUNCH_MAIL
- 15
メールを開きます。 - APPCOMMAND_LAUNCH_MEDIA_SELECT
- 16
メディアの選択モードに移動します。 - APPCOMMAND_MEDIA_CHANNEL_DOWN
- 52
テレビやラジオ チューナーなどのチャンネル値をデクリメントします。 - APPCOMMAND_MEDIA_CHANNEL_UP
- 51
テレビやラジオ チューナーなどのチャンネル値をインクリメントします。 - APPCOMMAND_MEDIA_FAST_FORWARD
- 49
ストリーム再生の速度を上げます。 これは、固定速度を使ったり、一連の増加する速度を切り替えたりするなど、さまざまな方法で実装できます。 - APPCOMMAND_MEDIA_NEXTTRACK
- 11
次のトラックに移動します。 - APPCOMMAND_MEDIA_PAUSE
- 47
[一時停止]。 既に一時停止している場合は、それ以上のアクションを実行しません。 これは、状態のない直接の PAUSE コマンドです。 個別の [再生] ボタンと [一時停止] ボタンがある場合、アプリケーションはこのコマンドと APPCOMMAND_MEDIA_PLAY_PAUSE に対してアクションを実行する必要があります。 - APPCOMMAND_MEDIA_PLAY
- 46
現在の位置で再生を開始します。 既に一時停止している場合は、再開されます。 これは、状態のない直接の PLAY コマンドです。 個別の [再生] ボタンと [一時停止] ボタンがある場合、アプリケーションはこのコマンドと APPCOMMAND_MEDIA_PLAY_PAUSE に対してアクションを実行する必要があります。 - APPCOMMAND_MEDIA_PLAY_PAUSE
- 14
再生するか、再生を一時停止します。 個別の [再生] ボタンと [一時停止] ボタンがある場合、アプリケーションはこのコマンドと APPCOMMAND_MEDIA_PLAY および APPCOMMAND_MEDIA_PAUSE に対してアクションを実行する必要があります。 - APPCOMMAND_MEDIA_PREVIOUSTRACK
- 12
前のトラックに移動します。 - APPCOMMAND_MEDIA_RECORD
- 48
現在のストリームの記録を開始します。 - APPCOMMAND_MEDIA_REWIND
- 50
より高速にストリーム内を前に移動します。 これは、固定速度を使ったり、一連の増加する速度を切り替えたりするなど、さまざまな方法で実装できます。 - APPCOMMAND_MEDIA_STOP
- 13
再生を停止します。 - APPCOMMAND_MIC_ON_OFF_TOGGLE
- 44
マイクを切り替えます。 - APPCOMMAND_MICROPHONE_VOLUME_DOWN
- 25
マイクの音量を下げます。 - APPCOMMAND_MICROPHONE_VOLUME_MUTE
- 24
マイクをミュートにします。 - APPCOMMAND_MICROPHONE_VOLUME_UP
- 26
マイクの音量を上げます。 - APPCOMMAND_NEW
- 29
新しいウィンドウを作成します。 - APPCOMMAND_OPEN
- 30
ウィンドウを開きます。 - APPCOMMAND_PASTE
- 38
貼り付け - APPCOMMAND_PRINT
- 33
現在のドキュメントを印刷します。 - APPCOMMAND_REDO
- 35
最後の操作をやり直します。 - APPCOMMAND_REPLY_TO_MAIL
- 39
メール メッセージに返信します。 - APPCOMMAND_SAVE
- 32
現在のドキュメントを保存します。 - APPCOMMAND_SEND_MAIL
- 41
メール メッセージを送信します。 - APPCOMMAND_SPELL_CHECK
- 42
スペル チェックを開始します。 - APPCOMMAND_TREBLE_DOWN
- 22
高音を下げます。 - APPCOMMAND_TREBLE_UP
- 23
高音を上げます。 - APPCOMMAND_UNDO
- 34
直前の操作を取り消します。 - APPCOMMAND_VOLUME_DOWN
- 9
音量を下げます。 - APPCOMMAND_VOLUME_MUTE
- 8
音量をミュートにします。 - APPCOMMAND_VOLUME_UP
- 10
音量を上げます。 uDevice コンポーネントは、入力イベントを生成した入力デバイスを示します。次のいずれかの値になります。
値 説明 - FAPPCOMMAND_KEY
- 0
ユーザーがキーを押しました。 - FAPPCOMMAND_MOUSE
- 0x8000
ユーザーがマウス ボタンをクリックしました。 - FAPPCOMMAND_OEM
- 0x1000
不明なハードウェア ソースによってイベントが生成されました。 マウスまたはキーボード イベントの可能性があります。 dwKeys コンポーネントは、さまざまな仮想キーが押されているかどうかを示します。次の値の 1 つ以上である可能性があります。
値 説明 - MK_CONTROL
- 0x0008
Ctrl キーが押されています。 - MK_LBUTTON
- 0x0001
マウスの左ボタンが押されています。 - MK_MBUTTON
- 0x0010
マウスの中央ボタンが押されています。 - MK_RBUTTON
- 0x0002
マウスの右ボタンが押されています。 - MK_SHIFT
- 0x0004
Shift キーが押されています。 - MK_XBUTTON1
- 0x0020
最初の [X] ボタンが押されています。 - MK_XBUTTON2
- 0x0040
2 つ目の [X] ボタンが押されています。
戻り値
アプリケーションがこのメッセージを処理すると、TRUE が返されます。 戻り値の処理の詳細については、「解説」セクションを参照してください。
解説
DefWindowProc は、WM_XBUTTONUP または WM_NCXBUTTONUP メッセージを処理するとき、またはユーザーがアプリケーション コマンド キーを入力したときに、WM_APPCOMMAND メッセージを生成します。
子ウィンドウがこのメッセージを処理せず、代わりに DefWindowProc を呼び出した場合、DefWindowProc はその親ウィンドウにメッセージを送信します。 トップレベル ウィンドウがこのメッセージを処理せず、代わりに DefWindowProc を呼び出した場合、DefWindowProc は、フック コードが HSHELL_APPCOMMAND と等しいシェル フックを呼び出します。
メッセージがマウス クリックによって生成された場合にカーソルの座標を取得するには、アプリケーションで GetMessagePos を呼び出すことができます。 アプリケーションは、lParam に FAPPCOMMAND_MOUSE が含まれているかどうかを確認することで、メッセージがマウスによって生成されたかどうかをテストできます。
他のウィンドウ メッセージとは異なり、アプリケーションはこのメッセージを処理した場合に、このメッセージから TRUE を返す必要があります。 これにより、Windows 2000 より前の Windows システムでこのメッセージをシミュレートするソフトウェアで、ウィンドウ プロシージャでメッセージが処理されたか、DefWindowProc が呼び出され処理されたかを判断できます。
必要条件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows 2000 Server [デスクトップ アプリのみ] |
ヘッダー |
|