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
減少 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_XBUTTONUP或WM_NCXBUTTONUP訊息時,或當使用者輸入應用程式命令金鑰時,產生WM_APPCOMMAND訊息。
如果子視窗未處理此訊息,而是呼叫 DefWindowProc, DefWindowProc 會將訊息傳送至其父視窗。 如果最上層視窗未處理此訊息,而是呼叫 DefWindowProc, DefWindowProc 會呼叫殼層攔截程式碼等於 HSHELL_APPCOMMAND。
若要取得滑鼠按一下所產生的訊息時,游標的座標,應用程式可以呼叫 GetMessagePos。 應用程式可以藉由檢查 lParam 是否包含 FAPPCOMMAND_MOUSE來測試訊息是否由滑鼠產生。
與其他 Windows 訊息不同的是,如果應用程式處理此訊息,應用程式應該會從這個訊息傳回 TRUE 。 這麼做可讓模擬 Windows 2000 之前 Windows 系統上此訊息的軟體判斷視窗程式是否已處理訊息,或呼叫 DefWindowProc 來處理訊息。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows 2000 Server [僅限桌面應用程式] |
標頭 |
|