Функция keybd_event синтезирует нажатие клавиши. Система может использовать такое синтезируемое нажатие клавиши, чтобы создать сообщение WM_KEYUP или WM_KEYDOWN. Вызывает функцию keybd_event программа обработки прерываний драйвера клавиатуры.
Windows NT/2000/XP: Эта функция была заменена. Используйте SendInput вместо нее.
Синтаксис
|
Параметры
bVk
[in] Определяет код виртуальной клавиши. Код должен быть значением в диапазоне от 1 до 254. Полный список см. в статье Коды виртуальных клавиш.
bScan
Этот параметр не используется.
dwFlags
[in] Определяет различные виды операций функции. Этот параметр может состоять из одного или нескольких ниже следующих значений.
Флажок |
Предназначение |
KEYEVENTF_EXTENDEDKEY |
Если он установлен, скэн-коду предшествует префиксный байт, имеющий значение 0xE0 (224). |
KEYEVENTF_KEYUP |
Если он установлен, клавиша была отпущена. Если не установлен, клавиша была нажата. |
dwExtraInfo
[in] Определяет дополнительное значение, связанное с нажатием клавиши.
Возвращаемые значения
У этой функции нет возвращаемых значений.
Замечания
Прикладная программа может смоделировать нажатие клавиши PrintScreen, чтобы получить снимок экрана и сохранить его в буфере обмена. Чтобы сделать это, вызовите keybd_event с установленным параметром bVk в VK_SNAPSHOT.
Windows NT/2000/XP: Функция keybd_event может переключить клавиши NUM LOCK, CAPS LOCK и SCROLL LOCK.
Windows 95/98/Me: Функция keybd_event может переключить только клавиши CAPS LOCK и SCROLL LOCK. Она не может переключить клавишу NUM LOCK.
Ниже следующее типовая программа переключает индикатор NUM LOCK, используя функцию keybd_event () виртуальной клавишей VK_NUMLOCK. Требуется Булево значение, которое указывает, должен ли индикатор быть выключен - (ЛОЖЬ (FALSE)) или включен - (ИСТИНА (TRUE)). Та же самая методика может использоваться для клавиши CAPS LOCK (VK_CAPITAL) и клавиши SCROLL LOCK (VK_SCROLL).
Показываем пример
|
Функция mouse_event синтезирует движение мыши и щелчки кнопки.
Windows NT/2000/XP: Эта функция была заменена. Вместо нее используйте функцию SendInput.
Синтаксис
|
Параметры
dwFlags
[in] Устанавливает различные аспекты движения мыши и щелчков кнопки. Этот параметр может быть некоторой комбинацией нижеследующих значений.
Значения, которые определяют состояние кнопки мыши, устанавливаются, чтобы указать изменения в статусе, но не для непрерывных состояний. Например, если левая кнопка мыши нажимается и удерживается нажатой, устанавливается MOUSEEVENTF_LEFTDOWN, в первый момент когда левая кнопка нажата, но не для последующих действий. Точно так же MOUSEEVENTF_LEFTUP устанавливается только в начале, когда кнопка отпущена.
Вы не можете в параметре dwFlags одновременно установить и MOUSEEVENTF_WHEEL и, или MOUSEEVENTF_XDOWN, или MOUSEEVENTF_XUP, потому что они оба требуют использования поля dwData.
Значение |
Предназначение |
MOUSEEVENTF_ABSOLUTE |
Устанавливает, что параметры dx и dy содержат нормализованные абсолютные координаты. Если флажок не установлен, то эти параметры содержит относительные данные: изменение в позиции начиная от последнего переданного местоположения. Этот флажок может устанавливаться, или не устанавливаться, независимо от того, какая мышь или мышеподобное устройство, если таковое вообще имеется, соединено с системой. За более поздней информацией об относительном движении мыши, см. ниже в разделе Замечаний. |
MOUSEEVENTF_MOVE |
Устанавливает, что произошло перемещение. |
MOUSEEVENTF_LEFTDOWN |
Устанавливает, что нажата левая кнопка. |
MOUSEEVENTF_LEFTUP |
Устанавливает, что отпущена левая кнопка. |
MOUSEEVENTF_RIGHTDOWN |
Устанавливает, что нажата правая кнопка. |
MOUSEEVENTF_RIGHTUP |
Устанавливает, что отпущена правая кнопка. |
MOUSEEVENTF_MIDDLEDOWN |
Устанавливает, что нажата средняя кнопка. |
MOUSEEVENTF_MIDDLEUP |
Устанавливает, что отпущена средняя кнопка. |
MOUSEEVENTF_WHEEL |
Windows NT/2000/XP: Устанавливает, что переместилось колесико, если мышь имеет колесико. Величина перемещения определяется в параметре dwData. |
MOUSEEVENTF_XDOWN |
Windows 2000/XP: Устанавливает, что была нажата X-кнопка. |
MOUSEEVENTF_XUP |
Windows 2000/XP: Устанавливает, что была отпущена X-кнопка. |
dx
[in] Устанавливает абсолютную позицию мыши по оси X или по ее величине продвижения, с тех пор, как было произведено последнее событие мыши, которая зависит от установки флажка MOUSEEVENTF_ABSOLUTE. Абсолютные данные определяются как фактическая x-координата мыши; относительные данные определяются как перемещение на определенное число мики. Мики (mickey) - это величина, на которую должна продвинуться мышь, чтобы она сообщила, что состоялось перемещение.
dy
[in] Устанавливает абсолютную позицию мыши по оси Y или по ее величине продвижения, с тех пор, как было произведено последнее событие мыши, которая зависит от установки флажка MOUSEEVENTF_ABSOLUTE. Абсолютные данные определяются как фактическая y-координата мыши; относительные данные определяются как перемещение на определенное число мики.
dwData
[in] Если dwFlags содержит MOUSEEVENTF_WHEEL, то параметр dwData устанавливает величину перемещения колесика. Положительное значение указывает на то, что колесико вращалось вперед, в сторону от пользователя; отрицательное значение указывает, что колесико вращалось назад, к пользователю. Один щелчок (прим. перевод. храповика) колесика определяется как WHEEL_DELTA, число которых - 120.
Windows 2000/XP: Если параметр dwFlags содержит MOUSEEVENTF_XDOWN или MOUSEEVENTF_XUP, то dwData определяет, какие X-кнопки нажимались или отпускались. Это значение может быть любой комбинацией ниже перечисленных флажков.
Если параметр dwFlags - не MOUSEEVENTF_WHEEL, MOUSEEVENTF_XDOWN, или MOUSEEVENTF_XUP, то dwData должен равняться нулю.
Значение |
Предназначение |
XBUTTON1 |
Устанавливается, если была нажата или отпущена первая Х-кнопка. |
XBUTTON2 |
Устанавливается, если была нажата или отпущена вторая Х-кнопка. |
dwExtraInfo
[in] Устанавливает дополнительное значение, связанное с событием мыши. Приложение вызывает функцию GetMessageExtraInfo, чтобы получить эту дополнительную информацию.
Возвращаемое значение
У этой функции нет возвращаемого значения.
Замечания
Если мышь двигалась, то установка флажка MOUSEEVENTF_MOVE указывает, что параметры dx и dy содержат информацию об этом движении. Информация определяется как абсолютные или относительные целочисленное значения.
Если устанавливается значение MOUSEEVENTF_ABSOLUTE, dx и dy содержат нормализованные абсолютные координаты между 0 и 65 535. Процедура события преобразует эти координаты для поверхности экрана. Координата (0,0) проецируется на левый верхний угол поверхности экрана, (65535,65535) проецируется на правый нижний угол.
Если значение MOUSEEVENTF_ABSOLUTE не установлено, dx и dy определяют относительные перемещения от того, когда было произведено последнее событие мыши (последняя сообщенная позиция). Положительные значения подразумевают, что мышь перемещалась вправо (или вниз); отрицательные значения подразумевают, что мышь двигалась влево (или вверх).
Относительное движение мыши подчинено настройкам скорости мыши и уровня ускорения. Конечный пользователь устанавливает эти величины, используя программу Mouse (Мышь) в Панели управления (Control Panel). Приложение получает и устанавливает эти значения при помощи функции SystemParametersInfo.
Система применяет два теста к заданному относительному движению мыши при применении ускорения. Если указанное расстояние, или по оси x, или по оси y больше, чем первая пороговая величина мыши, и уровень ускорения мыши не является нулевым, операционная система удваивает это расстояние. Если указанное расстояние или по оси x- или по оси y- больше, чем вторая пороговая величина мыши, и уровень ускорения мыши равен двум, операционная система удваивает интервал, который получился в результате применения первого порогового теста. В соответствии с этим, для операционной системы допустимо умножать определенное как относительное движение мыши по оси x- или по оси y- до четырех раз.
Как только было применено ускорение, система масштабирует получающуюся в результате величину требуемой скорости мыши. Скорость мыши может быть в диапазоне от 1 (самая медленная) до 20 (самая быстрая) и представляет величину, на котроую переместился указатель, базируясь на расстоянии, на которое перемещается мышь. Заданное по умолчанию значение равно 10, которое не приводит к дополнительной модификации движения мыши.
Функция mouse_event используется, чтобы синтезировать события мыши прикладными программами, которым необходимо так делать. Она также используется и прикладными программами, которые должны получать больше информации от мыши, а не только о ее позиции и состоянии кнопки. Например, если изготовитель планшета хочет передавать информацию, основанную на перьевом вводе данных, своим собственным программам, он может написать динамически подключаемую библиотеку (DLL), которая связывается непосредственно с аппаратными средствам планшета, получает дополнительную информацию и сохраняет ее в очереди. DLL затем вызывает функцию mouse_event при помощи стандартной кнопки и x/y данными местоположения, наряду с параметром dwExtraInfo с каким-то указателем или индексом поставленной в очередь дополнительной информации. Когда прикладная программа нуждается в дополнительной информации, она вызывает DLL с указателем или индексом, сохраненным в dwExtraInfo, и динамически подключаемая библиотека (DLL) возвращает дополнительную информацию.
Функция SendInput синтезирует нажатия клавиши, движения и щелчки кнопкой мыши.
Синтаксис
|
Параметры
nInputs
[in] Устанавливает число структур в массиве pInputs.
pInputs
[in] Указатель на массив структур INPUT. Каждая структура обозначает событие, которое будет вставлено во входной поток клавиатуры или мыши .
cbSize
[in] Устанавливает размер, в байтах, структуры INPUT. Если параметр cbSize - не размер структуры INPUT, функция завершится ошибкой.
Возвращаемые значения
Функция возвращает число событий, которые она успешно вставило во входной поток мыши или клавиатуры. Если функция возвращает нуль, ввод данных был уже блокирован другим потоком.
Чтобы получить дополнительные сведения об ошибке, вызовите функцию GetLastError.
Замечания
Функция SendInput вставляет события в структуры INPUT последовательно во входной поток мыши или клавиатуры. Эти события не вставляются в промежутки другой клавиатурой или мышью между вставленными событиями ввода данных или пользователем ( клавиатурой или мышью) или вызовами функций keybd_event, mouse_event, или другими вызовами SendInput.
Эта функция не сбрасывает текущее состояние клавиатуры. Любые клавиши, которые уже нажаты, когда функция вызывается, могут столкнуться с событиями, которые эта функция создает. Чтобы избежать этой проблемы, проверьте состояние клавиатуры при помощи функции GetAsyncKeyState и по мере необходимости откорректируйте действия.
Структура INPUT используется функцией SendInput, чтобы сохранить информацию для синтезирования событий ввода типа нажатий клавиши, перемещения и нажатия кнопок мыши.
Синтаксис
|
Члены структуры
type
Устанавливает тип события ввода. Этот член может быть одним из нижеследующих значений.
Значение |
Предназначение |
INPUT_MOUSE |
Это событие - событие мыши. Используйте структуру mi объединения. |
INPUT_KEYBOARD |
Это событие - событие клавиатуры. Используйте структуру ki объединения. |
INPUT_HARDWARE |
Windows 95/98/Me: Это событие аппаратного ввода данных, а не клавиатуры или мыши. Используйте структуру hi объединения. |
mi
Структура MOUSEINPUT, которая содержит информацию об имитируемом событии нажатия кнопки мыши.
ki
Структура KEYBDINPUT, которая содержит информацию об имитируемом событии клавиатуры.
hi
Windows 95/98/Me: Структура HARDWAREINPUT, которая содержит информацию об имитируемом событии аппаратного ввода данных, а не клавиатуры или мыши.
Замечания
Эта структура содержит информацию идентичную той, которая используется в списке параметров функции mouse_event или keybd_event.
Windows 2000/XP: Флажок INPUT_KEYBOARD поддерживает методы ввода данных не клавиатуры, такое как распознавание рукописи или речи, как будто это был текстовой ввод, используя флажок KEYEVENTF_UNICODE. Для получения дополнительной информации, см. раздел замечаний структуры KEYBDINPUT.
Структура MOUSEINPUT содержит информацию об имитируемом событии нажатия кнопки мыши.
Синтаксис
|
Члены структуры
dx
Устанавливает абсолютную позицию мыши или величину движения, с тех пор как было сгенерировано последнее событие нажатия мыши , в зависимости от значения члена структуры dwFlags . Абсолютные данные определяются как координата x мыши; относительные данные задаются как число пройденных пикселей.
dy
Устанавливает абсолютную позицию мыши или величину движения, с тех пор как было сгенерировано последнее событие нажатия мыши , в зависимости от значения члена структуры dwFlags . Абсолютные данные определяются как координата y мыши; относительные данные задаются как число пройденных пикселей.
mouseData
Если член структуры dwFlags содержит флажок MOUSEEVENTF_WHEEL, то параметр mouseData устанавливает величину перемещения колесика мыши. Положительное значение обозначает, что колесо вращалось вперед от пользователя; отрицательное значение обозначает то, что колесо вращалось обратно к пользователю. Один щелчок колеса определяется как WHEEL_DELTA, который равен 120.
Windows 2000/XP: Если член структуры dwFlags не содержит флажка MOUSEEVENTF_WHEEL, MOUSEEVENTF_XDOWN или MOUSEEVENTF_XUP, то параметр mouseData должен равняться нулю.
Если dwFlags содержит флажок MOUSEEVENTF_XDOWN или MOUSEEVENTF_XUP, то параметр mouseData устанавливает, какие кнопки X были нажаты или отпущены. Это значение может быть любой комбинацией ниже следующее флажков.
Значение |
Предназначение |
XBUTTON1 |
Устанавливается, если первая кнопка X нажата или отпущена. |
XBUTTON2 |
Устанавливается, если вторая кнопка X нажата или отпущена. |
dwFlags
Набор битовых флажков, которые устанавливают различные виды движения мыши и щелчков кнопки. Биты в этом члене могут быть любой разумной комбинацией нижеследующих значений.
Битовые флажки, которые определяют состояние кнопки мыши, устанавливаются так, чтобы указать изменения в состоянии, в условиях непродолжительного движения. Например, если левая кнопка мыши нажата и удерживается, флажок MOUSEEVENTF_LEFTDOWN устанавливается тогда, когда сначала нажата левосторонняя кнопка , а не для последующих движений. Точно так же MOUSEEVENTF_LEFTUP устанавливается только тогда, когда кнопка сначала отпущена.
Вы не можете установить ни флажок MOUSEEVENTF_WHEEL, ни флажки или MOUSEEVENTF_XDOWN или MOUSEEVENTF_XUP одновременно в параметре dwFlags, потому что они оба требуют использования поля mouseData .
Значение |
Предназначение |
MOUSEEVENTF_ABSOLUTE |
Устанавливает, что члены dx и dy содержат нормализованные абсолютные координаты. Если флажок не установлен, dx и dy содержат относительные данные (изменение в позиции начиная с последней сообщенной позиции). Этот флажок может быть установлен или не установлен, независимо от того какая мышь или другое устройство управления позицией, если есть в наличии, связано с системой. Для дополнительной информации об относительном движении мыши, см. ниже следующее раздел Замечаний. |
MOUSEEVENTF_MOVE |
Устанавливает, что перемещение произошло. |
MOUSEEVENTF_LEFTDOWN |
Устанавливает, что была нажата левосторонняя кнопка. |
MOUSEEVENTF_LEFTUP |
Устанавливает, что была отпущена левосторонняя кнопка. |
MOUSEEVENTF_RIGHTDOWN |
Устанавливает, что была нажата правосторонняя кнопка. |
MOUSEEVENTF_RIGHTUP |
Устанавливает, что была отпущена правосторонняя кнопка. |
MOUSEEVENTF_MIDDLEDOWN |
Устанавливает, что была нажата средняя кнопка. |
MOUSEEVENTF_MIDDLEUP |
Устанавливает, что была отпущена средняя кнопка. |
MOUSEEVENTF_VIRTUALDESK |
Windows 2000/XP: Преобразование координат в целом рабочего стола. Должен использоваться с флажком MOUSEEVENTF_ABSOLUTE. |
MOUSEEVENTF_WHEEL |
Windows NT/2000/XP: Устанавливает, что было колесо перемещено, если мышь имеет колесо. Величина перемещения определяется в поле структуры mouseData. |
MOUSEEVENTF_XDOWN |
Windows 2000/XP: Устанавливает, что была нажата кнопка X. |
MOUSEEVENTF_XUP |
Windows 2000/XP: Устанавливает, что была отпущена кнопка X. |
time
Отметка времени для события, в миллисекундах. Если этот параметр - 0, система предоставит свою собственную отметку времени.
dwExtraInfo
Устанавливает дополнительное значение, связанное с событием нажатия кнопки мыши. Приложение вызывает функцию GetMessageExtraInfo, чтобы получить эту дополнительную информацию.
Замечания
Если мышь переместилась, обозначив флажок MOUSEEVENTF_MOVE, члены dx и dy определяют информацию об этом перемещении. Информация устанавливается как абсолютные или относительные целочисленные значения.
Если установлено значение MOUSEEVENTF_ABSOLUTE, поля структуры dx и dy содержат нормализованные абсолютные координаты между 0 и 65 535. Процедура события наносит эти координаты на поверхность отображения. Координата (0,0) наносится в левый верхний угол поверхности отображения; координата (65535,65535) наносится в нижний правый угол. Во много экранной системе координаты наносятся на главный монитор.
Windows 2000/XP: Если установлен флажок MOUSEEVENTF_VIRTUALDESK координат наносятся на весь виртуальный рабочий стол.
Если значение MOUSEEVENTF_ABSOLUTE не установлено, dx и dy задают перемещение относительно предыдущего события мыши (последняя фиксируемая позиция). Положительные значения означают перемещения мыши вправо (или вниз); отрицательные значения означают перемещение мыши влево (или вверх).
Относительное движение мыши подчиненно эффектам быстродействия мыши и порогового значения с двойного щелчка кнопкой мыши. Пользователь устанавливает эти три значения ползунком Скорость перемещения указателя (Pointer Speed) вкладки Свойств Мыши (Mouse Properties) на Панели управления (Windows). Вы можете получать и устанавливать эти значения, используя функцию SystemParametersInfo.
Система применяется два теста к заданному относительному перемещению мыши. Если определяемый интервал или по x или оси y больше, чем первое значение порога мыши, а быстродействие мыши - не нулевое, система удваивает интервал. Если заданный интервал или по оси x или по оси y больше чем второе значение порога мыши, а быстродействие мыши равно два, система удваивает интервал, который следовал из применения первого порогового теста. Таким образом это дает возможность системе умножить заданное относительное перемещение мыши по оси x или оси y в четыре раза.
Структура KEYBDINPUT содержит информацию об имитируемом событии клавиатуры.
Синтаксис
|
Члены структуры
wVk
Устанавливает код виртуальной клавиши. Код должен быть значением в диапазоне 1 - 254. Заголовочный файл Winuser.h предоставляет на каждое значение макроопределения (VK_ *). Если член структуры dwFlags определяется как KEYEVENTF_UNICODE, член структуры wVk должен быть 0.
wScan
Устанавливает аппаратный скэн-код для клавиши. Если член структуры dwFlags определяется как KEYEVENTF_UNICODE, член структуры wScan определяет символ Unicode, который должен отправиться активному приложению.
dwFlags
Устанавливает различные виды нажатия клавиши. Этот член может быть определенными комбинациями нижеследующих значений.
Значение |
Предназначение |
KEYEVENTF_EXTENDEDKEY |
Если определено, то скэн-коду предшествует префиксный байт, который имеет величину 0xE0 (224). |
KEYEVENTF_KEYUP |
Если определено, то клавиша отпускается. Если не определено, то клавиша нажимается. |
KEYEVENTF_SCANCODE |
Если определено, то член структуры wScan идентифицирует клавишу, а член структуры wVk игнорируется. |
KEYEVENTF_UNICODE |
Windows 2000/XP: Если определено, то система синтезирует нажатие клавиши VK_PACKET . Параметр WVk должен равняться нулю. Этот флажок может быть объединен только с флажком KEYEVENTF_KEYUP. Для получения дополнительной информации, см. раздел Замечаний. |
time
Отметка времени для события, в миллисекундах. Если этот параметр равняется нулю, система предоставляет свою собственную отметку времени.
dwExtraInfo
Устанавливает дополнительное значение, связанное с нажатием клавиши. Используйте функцию GetMessageExtraInfo, чтобы получить эту информацию.
Замечания
Windows 2000/XP: Флажок INPUT_KEYBOARD поддерживает не клавиатурные методы ввода данных такие как распознавание почерка или распознавание голоса, как будто это был текстовой ввод, используя флажок KEYEVENTF_UNICODE. Если KEYEVENTF_UNICODE устанавливается, функция SendInput отправляет сообщение WM_KEYDOWN или WM_KEYUP в очередь сообщений активного потока с параметром wParam, равным VK_PACKET. Как только функция GetMessage или PeekMessage получает это сообщение, оно переправляется в функцию TranslateMessage, которое посылает сообщение WM_CHAR с символом Unicode, первоначально заданным параметром wScan. Этот символ Unicode будет автоматически преобразован в соответствующее значение ANSI, если сообщение посылается к окну ANSI.
Windows 2000/XP: Установка флажка KEYEVENTF_SCANCODE определяет ввод с клавиатуры в терминах скэн-кода. Это практикуется при имитации физического нажатия клавиши, независимо от того используется или нет клавиатура в настоящий момент. Значение виртуальной клавиши клавиши может измениться в зависимости от текущей раскладки клавиатуры или от того, что другие клавиши были нажаты, но скэн-код всегда будет тот же самый.
Структура HARDWAREINPUT содержит информацию об смоделированном сообщении, созданном устройством ввода данных, а не клавиатурой или мышью.
Синтаксис
|
Члены структуры
uMsg
Значение, задающее сообщение, созданное аппаратными средствами ввода.
wParamL
Устанавливает младшее слово параметра lParam для uMsg.
wParamH
Устанавливает старшее слово параметра lParam для uMsg.
Нижеследующая таблица показывает названия именованных констант, шестнадцатеричные значения, и эквиваленты мыши или клавиатуры для кодов виртуальных клавиш, используемых системой. Коды перечисляются в нарастающем порядке.
Константа |
Значение |
Предназначение |
VK_LBUTTON |
01 |
Левая кнопка мыши. |
VK_RBUTTON |
02 |
Правая кнопка мыши. |
VK_CANCEL |
03 |
Обработка комбинации клавиш Control-Break.
|
VK_MBUTTON |
04 |
Средняя кнопка мыши (трехкнопочная мышь). |
VK_XBUTTON1 |
05 |
Windows 2000/XP: кнопка X1 мыши. |
VK_XBUTTON2 |
06 |
Windows 2000/XP: кнопка X2 мыши. |
- |
07 |
Не определен. |
VK_BACK |
08 |
Клавиша BACKSPACE (возврата на позицию). |
VK_TAB |
09 |
Клавиша TAB (табуляции). |
0A-0B |
Зарезервированы. |
|
VK_CLEAR |
0C |
Клавиша CLEAR. |
VK_RETURN |
0D |
Клавиша ENTER (ввод). |
- |
0E-0F |
Не определены. |
VK_SHIFT |
10 |
Клавиша SHIFT (вспомогательная). |
VK_CONTROL |
11 |
Клавиша CTRL (управления). |
VK_MENU |
12 |
Клавиша ALT (навигации по меню). |
VK_PAUSE |
13 |
Клавиша PAUSE (останов работы). |
VK_CAPITAL |
14 |
Клавиша CAPS LOCK (переключатель регистра символов). |
VK_KANA |
15 |
Редактор метода ввода (IME)) режим Kana. |
VK_HANGUEL |
15 |
Редактор метода ввода (IME) режим Hanguel (поддерживается для совместимости; используется VK_HANGUL). |
VK_HANGUL |
15 |
Редактор метода ввода (IME) режим Hangul. |
- |
16 |
Не определен. |
VK_JUNJA |
17 |
Редактор метода ввода (IME) режим Junja. |
VK_FINAL |
18 |
Редактор метода ввода (IME) заключительный режим. |
VK_HANJA |
19 |
Редактор метода ввода (IME) режим Hanja. |
VK_KANJI |
|
Редактор метода ввода (IME) режим Kanji. |
- |
1A |
Не определен. |
VK_ESCAPE |
1B |
Клавиша ESC (отмены). |
VK_CONVERT |
1C |
Преобразованный IME. |
VK_NONCONVERT |
1D |
Не преобразованный IME. |
VK_ACCEPT |
1E |
Принятый IME. |
VK_MODECHANGE |
1F |
Запрос изменить режим IME. |
VK_SPACE |
20 |
Клавиша SPACEBAR (пробел). |
VK_PRIOR |
21 |
Клавиша PAGE UP (страницей выше). |
VK_NEXT |
22 |
Клавиша PAGE DOWN (страницей ниже). |
VK_END |
23 |
Клавиша END (в конец текста). |
VK_HOME |
24 |
Клавиша HOME (в начало текста). |
VK_LEFT |
25 |
Клавиша LEFT ARROW (стрелка влево). |
VK_UP |
26 |
Клавиша UP ARROW (стрелка вверх). |
VK_RIGHT |
27 |
Клавиша RIGHT ARROW (стрелка вправо). |
VK_DOWN |
28 |
Клавиша DOWN ARROW (стрелка вниз). |
VK_SELECT |
29 |
Клавиша SELECT (выбор). |
VK_PRINT |
2A |
Клавиша PRINT (печать). |
VK_EXECUTE |
2B |
Клавиша EXECUTE (исполнить). |
VK_SNAPSHOT |
2C |
Клавиша PRINT SCREEN (печать экрана). |
VK_INSERT |
2D |
Клавиша INS (вставить). |
VK_DELETE |
2E |
Клавиша DEL (удалить). |
VK_HELP |
2F |
Клавиша HELP (справка). |
|
30 |
Клавиша 0. |
|
31 |
Клавиша 1. |
|
32 |
Клавиша 2. |
|
33 |
Клавиша 3 |
|
34 |
Клавиша 4. |
|
35 |
Клавиша 5. |
|
36 |
Клавиша 6. |
|
37 |
Клавиша 7. |
|
38 |
Клавиша 8. |
|
39 |
Клавиша 9. |
- |
3A-40 |
Не определены. |
|
41 |
Клавиша A. |
|
42 |
Клавиша B. |
|
43 |
Клавиша C. |
|
44 |
Клавиша D. |
|
45 |
Клавиша E. |
|
46 |
Клавиша F. |
|
47 |
Клавиша G. |
|
48 |
Клавиша H. |
|
49 |
Клавиша I. |
|
4A |
Клавиша J. |
|
4B |
Клавиша K. |
|
4C |
Клавиша L. |
|
4D |
Клавиша M. |
|
4E |
Клавиша N. |
|
4F |
Клавиша O. |
|
50 |
Клавиша P. |
|
51 |
Клавиша Q. |
|
52 |
Клавиша R. |
|
53 |
Клавиша S. |
|
54 |
Клавиша T. |
|
55 |
Клавиша U. |
|
56 |
Клавиша V. |
|
57 |
Клавиша W. |
|
58 |
Клавиша X. |
|
59 |
Клавиша Y. |
|
5A |
Клавиша Z. |
VK_LWIN |
5B |
Левая клавиша Windows (Клавиатура Microsoft® Natural® ). |
VK_RWIN |
5C |
Правая клавиша Windows (Клавиатура Microsoft® Natural® ). |
VK_APPS |
5D |
Клавиша приложения (Клавиатура Microsoft® Natural® ). |
- |
5E |
Зарезервирован. |
VK_SLEEP |
5F |
Клавиша Sleep (сна) компьютера. |
VK_NUMPAD0 |
60 |
Клавиша 0 вспомогательной цифровой клавиатуры. |
VK_NUMPAD1 |
61 |
Клавиша 1 вспомогательной цифровой клавиатуры. |
VK_NUMPAD2 |
62 |
Клавиша 2 вспомогательной цифровой клавиатуры. |
VK_NUMPAD3 |
63 |
Клавиша 3 вспомогательной цифровой клавиатуры. |
VK_NUMPAD4 |
64 |
Клавиша 4 вспомогательной цифровой клавиатуры. |
VK_NUMPAD5 |
65 |
Клавиша 5 вспомогательной цифровой клавиатуры. |
VK_NUMPAD6 |
66 |
Клавиша 6 вспомогательной цифровой клавиатуры. |
VK_NUMPAD7 |
67 |
Клавиша 7 вспомогательной цифровой клавиатуры. |
VK_NUMPAD8 |
68 |
Клавиша 8 вспомогательной цифровой клавиатуры. |
VK_NUMPAD9 |
69 |
Клавиша 9 вспомогательной цифровой клавиатуры. |
VK_MULTIPLY |
6A |
Клавиша умножения (*). |
VK_ADD |
6B |
Клавиша сложения (+). |
VK_SEPARATOR |
6C |
Клавиша разделения (\). |
VK_SUBTRACT |
6D |
Клавиша вычитания (-). |
VK_DECIMAL |
6E |
Клавиша десятичная. |
VK_DIVIDE |
6F |
Клавиша деления (/). |
VK_F1 |
70 |
Клавиша F1. |
VK_F2 |
71 |
Клавиша F2. |
VK_F3 |
72 |
Клавиша F3. |
VK_F4 |
73 |
Клавиша F4. |
VK_F5 |
74 |
Клавиша F5. |
VK_F6 |
75 |
Клавиша F6. |
VK_F7 |
76 |
Клавиша F7. |
VK_F8 |
77 |
Клавиша F8. |
VK_F9 |
78 |
Клавиша F9. |
VK_F10 |
79 |
Клавиша F10. |
VK_F11 |
7A |
Клавиша F11. |
VK_F12 |
7B |
Клавиша F12. |
VK_F13 |
7C |
Клавиша F13. |
VK_F14 |
7D |
Клавиша F14. |
VK_F15 |
7E |
Клавиша F15. |
VK_F16 |
7F |
Клавиша F16. |
VK_F17 |
80 |
Клавиша F17. |
VK_F18 |
81 |
Клавиша F18. |
VK_F19 |
82 |
Клавиша F19. |
VK_F20 |
83 |
Клавиша F20. |
VK_F21 |
84 |
Клавиша F21. |
VK_F22 |
85 |
Клавиша F22. |
VK_F23 |
86 |
Клавиша F23. |
VK_F24 |
87 |
Клавиша F24. |
- |
88-8F |
Предназначения нет. |
VK_NUMLOCK |
90 |
Клавиша NUM LOCK. |
VK_SCROLL |
91 |
Клавиша SCROLL LOCK. |
|
92-96 |
Определяет OEM. |
- |
97-9F |
Предназначения нет. |
VK_LSHIFT |
A0 |
Левая клавиша SHIFT. |
VK_RSHIFT |
A1 |
Правая клавиша SHIFT. |
VK_LCONTROL |
A2 |
Левая клавиша CONTROL. |
VK_RCONTROL |
A3 |
Правая клавиша CONTROL. |
VK_LMENU |
A4 |
Левая клавиша MENU |
VK_RMENU |
A5 |
Правая клавиша MENU. |
VK_BROWSER_BACK |
A6 |
Windows 2000/XP: клавиша Browser Back (просмотр вперед). |
VK_BROWSER_FORWARD |
A7 |
Windows 2000/XP: клавиша Browser Forward (просмотр назад). |
VK_BROWSER_REFRESH |
A8 |
Windows 2000/XP: клавиша Browser Refresh (обновить экран просмотра). |
VK_BROWSER_STOP |
A9 |
Windows 2000/XP: клавиша Browser Stop (остановить просмотр). |
VK_BROWSER_SEARCH |
AA |
Windows 2000/XP: клавиша Browser Search (поиск в окне просмотра). |
VK_BROWSER_FAVORITES |
AB |
Windows 2000/XP: клавиша Browser Favorites (предпочтительного просмотра). |
VK_BROWSER_HOME |
AC |
Windows 2000/XP: клавиша Browser Start и Home (эапуск брузера и на главную страницу). |
VK_VOLUME_MUTE |
AD |
Windows 2000/XP: клавиша Volume Mute (временно выключить звук). |
VK_VOLUME_DOWN |
AE |
Windows 2000/XP: клавиша Volume Down (понизить громкость звука). |
VK_VOLUME_UP |
AF |
Windows 2000/XP: клавиша Volume Up (повысить громкость звука). |
VK_MEDIA_NEXT_TRACK |
B0 |
Windows 2000/XP: Клавиша Next Track (следующая дорожка). |
VK_MEDIA_PREV_TRACK |
B1 |
Windows 2000/XP: Клавиша Previous Track (предыдущая дорожка). |
VK_MEDIA_STOP |
B2 |
Windows 2000/XP: Клавиша Stop Media (останов проигрывателя). |
VK_MEDIA_PLAY_PAUSE |
B3 |
Windows 2000/XP: Клавиша Play/Pause Media (воспроизведение/пауза проигрывателя). |
VK_LAUNCH_MAIL |
B4 |
Windows 2000/XP: Клавиша Start Mail (запуск почтовой программы). |
VK_LAUNCH_MEDIA_SELECT |
B5 |
Windows 2000/XP: Клавиша Select Media (выбора медиа). |
VK_LAUNCH_APP1 |
B6 |
Windows 2000/XP: Клавиша Start Application 1 (запуск приложения 1). |
VK_LAUNCH_APP2 |
B7 |
Windows 2000/XP: Клавиша Start Application 2 (запуск приложения 2). |
- |
B8-B9 |
Зарезервированы. |
VK_OEM_1 |
BA |
Используется для разных знаков; он может изменяться клавиатурой. Windows 2000/XP: для американской стандартной клавиатуры это клавиша ';:'. |
VK_OEM_PLUS |
BB |
Windows 2000/XP: для любой страны/региона это клавиша '+'. |
VK_OEM_COMMA |
BC |
Windows 2000/XP: для любой страны/региона это клавиша ','. |
VK_OEM_MINUS |
BD |
Windows 2000/XP: для любой страны/региона это клавиша '-'. |
VK_OEM_PERIOD |
BE |
Windows 2000/XP: для любой страны/региона это клавиша '.'. |
VK_OEM_2 |
BF |
Используется для разных знаков; он может изменяться клавиатурой. Windows 2000/XP: для американской стандартной клавиатуры это клавиша '/?'. |
VK_OEM_3 |
C0 |
Используется для разных знаков; он может изменяться клавиатурой. Windows 2000/XP: для американской стандартной клавиатуры это клавиша '`~'. |
- |
C1-D7 |
Зарезервированы. |
- |
D8-DA |
Предназначения нет. |
VK_OEM_4 |
DB |
Используется для разных знаков; он может изменяться клавиатурой. Windows 2000/XP: для американской стандартной клавиатуры это клавиша '[{' . |
VK_OEM_5 |
DC |
Используется для разных знаков; он может изменяться клавиатурой. Windows 2000/XP: для американской стандартной клавиатуры это клавиша '\|'. |
VK_OEM_6 |
DD |
Используется для разных знаков; он может изменяться клавиатурой. Windows 2000/XP: для американской стандартной клавиатуры это клавиша ']}'. |
VK_OEM_7 |
DE |
Используется для разных знаков; он может изменяться клавиатурой. Windows 2000/XP: для американской стандартной клавиатуры это клавиша 'одиночная кавычка/двойная кавычка'. |
VK_OEM_8 |
DF |
Используется для разных знаков; он может изменяться клавиатурой. |
- |
E0 |
Зарезервирован. |
|
E1 |
Специальный для OEM. |
VK_OEM_102 |
E2 |
Windows 2000/XP: или клавиша угловой скобки или обратный слэш (наклонная черта влево) на RT клавиатуре с 102 клавишами. |
|
E3-E4 |
Специальные для OEM. |
VK_PROCESSKEY |
E5 |
Windows 95/98/Me, Windows NT 4.0, Windows 2000/XP: клавиша IME PROCESS (обработка IME). |
|
E6 |
Специальные для OEM. |
VK_PACKET |
E7 |
Windows 2000/XP: Используется для перехода на символы Unicode , как будто бы они были нажатиями клавиш. Клавиша VK_PACKET - младшее слово 32-разрядного значения Virtual Key, используемого для не клавиатурного метода ввода данных. Подробную информацию, см. в разделе Замечания в описании KEYBDINPUT, SendInput, WM_KEYDOWN и WM_KEYUP. |
- |
E8 |
Предназначения нет. |
|
E9-F5 |
Специальные для OEM. |
VK_ATTN |
F6 |
Клавиша Attn. |
VK_CRSEL |
F7 |
Клавиша CrSel. |
VK_EXSEL |
F8 |
Клавиша ExSel. |
VK_EREOF |
F9 |
Клавиша очистки EOF. |
VK_PLAY |
FA |
Клавиша воспроизведения. |
VK_ZOOM |
FB |
Клавиша увеличения/уменьшения. |
VK_NONAME |
FC |
Зарезервировано для будущего использования. |
VK_PA1 |
FD |
Клавиша PA1. |
VK_OEM_CLEAR |
FE |
Клавиша очистки. |