Поделиться через


WM_SETHOTKEY сообщение

Отправляется в окно для связывания горячей клавиши с окном. Когда пользователь нажимает горячую клавишу, система активирует окно.

#define WM_SETHOTKEY                    0x0032

Параметры

wParam

Слово нижнего порядка указывает код виртуального ключа, который необходимо связать с окном.

Слово высокого порядка может быть одним или несколькими из следующих значений из CommCtrl.h.

Если для параметра wParam задано значение NULL , будет удалена горячая клавиша, связанная с окном.

Значение Значение
HOTKEYF_ALT
0x04
ALT - клавиша
HOTKEYF_CONTROL
0x02
Клавиша CTRL
HOTKEYF_EXT
0x08
Расширенный ключ
HOTKEYF_SHIFT
0x01
Клавиша SHIFT

lParam

Этот параметр не используется.

Возвращаемое значение

Возвращаемое значение имеет одно из следующих значений.

Возвращаемое значение Описание
-1
Не удалось выполнить функцию; недопустимая клавиша.
0
Не удалось выполнить функцию; недопустимое окно.
1
Функция выполнена успешно, и ни одно другое окно не имеет той же горячей клавиши.
2
Функция выполнена успешно, но в другом окне уже есть та же горячая клавиша.

Комментарии

Горячая клавиша не может быть связана с дочерним окном.

VK_ESCAPE, VK_SPACE и VK_TAB являются недопустимыми горячими клавишами.

Когда пользователь нажимает горячую клавишу, система создает WM_SYSCOMMAND сообщение с wParam , равным SC_HOTKEY , и lParam , равным дескрипторе окна. Если это сообщение передается в DefWindowProc, система переведет последнее активное всплывающее окно окна (если оно существует) или само окно (если всплывающее окно отсутствует) на передний план.

В окне может быть только одна горячая клавиша. Если с окном уже связана горячая клавиша, новая горячая клавиша заменяет старую. Если несколько окон имеют одну и ту же горячую клавишу, окно, активируемое горячей клавишей, является случайным.

Эти горячие клавиши не связаны с горячими ключами, заданными параметром RegisterHotKey.

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Winuser.h (включая Windows.h)

См. также раздел

Справочные материалы

RegisterHotKey

WM_GETHOTKEY

WM_SYSCOMMAND

Основные понятия

Ввод с клавиатуры