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 Нет
Замечания по платформе Не имеется