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 を呼び出すことができます。 アプリケーションは、lParamFAPPCOMMAND_MOUSE が含まれているかどうかを確認することで、メッセージがマウスによって生成されたかどうかをテストできます。

他のウィンドウ メッセージとは異なり、アプリケーションはこのメッセージを処理した場合に、このメッセージから TRUE を返す必要があります。 これにより、Windows 2000 より前の Windows システムでこのメッセージをシミュレートするソフトウェアで、ウィンドウ プロシージャでメッセージが処理されたか、DefWindowProc が呼び出され処理されたかを判断できます。

必要条件

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

関連項目

参照

DefWindowProc

GET_APPCOMMAND_LPARAM

GET_DEVICE_LPARAM

GET_KEYSTATE_LPARAM

ShellProc

WM_XBUTTONUP

WM_NCXBUTTONUP

概念

マウス入力