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
切換語音輸入的兩種模式:聽寫和命令/控制項 (將命令提供給應用程式或存取功能表) 。
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_PLAYAPPCOMMAND_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
減少 Treble。
APPCOMMAND_TREBLE_UP
23
增加 Treble。
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元件會指出各種虛擬金鑰是否關閉,而且可以是下列一或多個值。

意義
MK_CONTROL
0x0008
CTRL 鍵已關閉。
MK_LBUTTON
0x0001
滑鼠左鍵已關閉。
MK_MBUTTON
0x0010
滑鼠中間鍵已關閉。
MK_RBUTTON
0x0002
滑鼠右鍵已關閉。
MK_SHIFT
0x0004
SHIFT 鍵已關閉。
MK_XBUTTON1
0x0020
第一個 X 按鈕已關閉。
MK_XBUTTON2
0x0040
第二個 X 按鈕已關閉。

傳回值

如果應用程式處理此訊息,它應該會傳回 TRUE。 如需處理傳回值的詳細資訊,請參閱一節。

備註

DefWindowProc會在處理WM_XBUTTONUPWM_NCXBUTTONUP訊息時,或當使用者輸入應用程式命令金鑰時,產生WM_APPCOMMAND訊息。

如果子視窗未處理此訊息,而是呼叫 DefWindowProcDefWindowProc 會將訊息傳送至其父視窗。 如果最上層視窗未處理此訊息,而是呼叫 DefWindowProcDefWindowProc 會呼叫殼層攔截程式碼等於 HSHELL_APPCOMMAND

若要取得滑鼠按一下所產生的訊息時,游標的座標,應用程式可以呼叫 GetMessagePos。 應用程式可以藉由檢查 lParam 是否包含 FAPPCOMMAND_MOUSE來測試訊息是否由滑鼠產生。

與其他 Windows 訊息不同的是,如果應用程式處理此訊息,應用程式應該會從這個訊息傳回 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

概念

滑鼠輸入