Win32 API. Функции и сообщения ввода информации с клавиатуры - Сообщение WM_SETHOTKEY
ОГЛАВЛЕНИЕ
Сообщение WM_SETHOTKEY
Прикладная программа посылает сообщение WM_SETHOTKEY окну, чтобы связать комбинацию "горячая" клавиша с окном. Когда пользователь нажимает комбинацию "горячая" клавиша, система активизирует окно.
Синтаксис
WM_SETHOTKEY
wParam = (WPARAM) MAKEWORD (vkey, modifiers)
// код виртуальной клавиши и
// модификаторы горячих клавиш
lParam = 0; // не используется, должно быть нуль
Параметры
vkey
Значение wParam. Определяет код виртуальной клавиши и модификаторы комбинаций "горячая" клавиша, которые связаны с окном. Код виртуальной клавиши находится в младшем байте параметра, а флажки модификатора находятся в старшем байте. Установка этого параметра в значение ПУСТО (NULL) удаляет комбинацию "горячая" клавиша, связанную с окном. Байт модификатора может быть комбинацией следующих флажков:
- HOTKEYF_ALT - Клавиша ALT
- HOTKEYF_CONTROL - Клавиша CTRL
- HOTKEYF_EXT - Расширенная клавиша
- HOTKEYF_SHIFT - Клавиша SHIFT
Возвращаемые значения
Величина возвращаемого значения является одной из ниже перечисленных:
- -1 - Функция потерпела неудачу - комбинация "горячая" клавиша является недопустимой.
- 0 - Функция потерпела неудачу - окно является недопустимым.
- 1 - Функция завершила свою работу успешно, и ни у какого другого окна нет той же самой комбинации "горячая" клавиша.
- 2 - Функция завершила свою работу успешно, но другое окно уже имеет ту же самую комбинацию "горячая" клавиша.
Замечания
Комбинация "горячая" клавиша не может быть связана с дочерним окном.
VK_ESCAPE, VK_SPACE и VK_TAB - недопустимые комбинации "горячая" клавиша.
Когда пользователь нажимает комбинацию "горячая" клавиша, система генерирует сообщение WM_SYSCOMMAND с wParam равным SC_HOTKEY.
Окно может иметь только одну комбинацию "горячая" клавиша. Если окно уже связано с комбинацией "горячая" клавиша, новая "горячая" клавиша заменяет старую. Если больше чем одно окно связаны с той же самой комбинацией "горячая" клавиша, окно, которое активизировано этой комбинацией, является выбранным наудачу.
Эти комбинации "горячая" клавиша несвязанны с "горячими" клавишами установленными при помощи RegisterHotKey.
Смотри также
RegisterHotKey, WM_GETHOTKEY, WM_SYSCOMMAND
Размещение и совместимость WM_SETHOTKEY
Windows NT Да
Win95 Да
Win32s Нет
Импортируемая библиотека -
Заголовочный файл winuser.h
Unicode Нет
Замечания по платформе Не имеется