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_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 元件指出各種虛擬密鑰是否已關閉,而且可以是下列其中一或多個值。
價值 意義 - MK_CONTROL
- 0x0008
CTRL 鍵已關閉。 - MK_LBUTTON
- 0x0001
滑鼠左鍵已關閉。 - MK_MBUTTON
- 0x0010
滑鼠中間按鈕已關閉。 - MK_RBUTTON
- 0x0002
滑鼠右鍵已關閉。 - MK_SHIFT
- 0x0004
SHIFT 鍵已關閉。 - MK_XBUTTON1
- 0x0020
XBUTTON1已關閉。 - MK_XBUTTON2
- 0x0040
XBUTTON2已關閉。
傳回值
如果應用程式處理此訊息,則應該 TRUE傳回 。 如需處理傳回值的詳細資訊,請參閱一節。
言論
DefWindowProc 會在處理 WM_XBUTTONUP 或 WM_NCXBUTTONUP 訊息,或使用者輸入應用程式命令密鑰時,產生 WM_APPCOMMAND 訊息。
如果子視窗未處理此訊息,而是呼叫 DefWindowProc,DefWindowProc 會將訊息傳送至其父視窗。 如果最上層視窗未處理此訊息,而是呼叫 DefWindowProc,DefWindowProc 會呼叫殼層攔截,且攔截程式代碼等於 HSHELL_APPCOMMAND。
若在按鼠時產生訊息,取得游標的座標,應用程式可以呼叫 getMessagePos
與其他 Windows 訊息不同,如果應用程式處理此訊息,應用程式應該傳回 TRUE。 這樣做會允許在 Windows 2000 之前的 Windows 系統上模擬此訊息的軟體,以判斷視窗程式是否已處理訊息,或呼叫 DefWindowProc 來處理它。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 |
Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows 2000 Server [僅限傳統型應用程式] |
頁眉 |
|