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
Первая кнопка X не работает. - MK_XBUTTON2
- 0x0040
Вторая кнопка X не работает.
Возвращаемое значение
Если приложение обрабатывает это сообщение, оно должно вернуть значение TRUE. Дополнительные сведения об обработке возвращаемого значения см. в разделе Примечания.
Комментарии
DefWindowProc создает сообщение WM_APPCOMMAND при обработке сообщения WM_XBUTTONUP или WM_NCXBUTTONUP либо при вводе пользователем командного ключа приложения.
Если дочернее окно не обрабатывает это сообщение и вместо этого вызывает DefWindowProc, DefWindowProc отправит сообщение в родительское окно. Если окно верхнего уровня не обрабатывает это сообщение и вместо этого вызывает DefWindowProc, DefWindowProc вызовет обработчик оболочки с кодом перехватчика, равным HSHELL_APPCOMMAND.
Чтобы получить координаты курсора, если сообщение было создано щелчком мыши, приложение может вызвать GetMessagePos. Приложение может проверить, было ли сообщение создано мышью, проверив, содержит ли lParamFAPPCOMMAND_MOUSE.
В отличие от других сообщений Windows, приложение должно возвращать значение TRUE из этого сообщения, если обрабатывает его. Это позволит программному обеспечению, которое имитирует это сообщение в системах Windows до Windows 2000, определить, обработала ли процедура окна сообщение или defWindowProc для его обработки.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера |
Windows 2000 Server [только классические приложения] |
Заголовок |
|
См. также раздел
-
Справочные материалы
-
Основные понятия