Эмулятор клавиатуры.
Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain
Как программно нажимать и отпускать кнопки, включая F1-F12, esc, праыый и левый shift, праыый и левый alt, праыый и левый ctrl, цифры в верхнем ряду и на цифровой клавиатуре, кнопки управления курсором, page up, page down, insert, delete, home, end, printscreen, scroll lockm, break, caps lock, tab, enter основной и на цифровой клавиатуреб num lock? Как читать состояние индикаторов num lock, caps lock, scroll lock?
Вопрос: "Почему вы все сионисты? Нельзя ли писать на чём то другом?".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".
- Romeo
- Сообщения: 3126
- Зарегистрирован: 02 мар 2004, 17:25
- Откуда: Крым, Севастополь
- Контактная информация:
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Спасибо за ссылку. Впринципе, это именно то, что я хотел. Но остаётся не совсем понятно что такое:
1.
dwFlags
[in] Specifies various aspects of function operation. This parameter can be one or more of the following values.
KEYEVENTF_EXTENDEDKEY
If specified, the scan code was preceded by a prefix byte having the value 0xE0 (224).
KEYEVENTF_KEYUP
If specified, the key is being released. If not specified, the key is being depressed.
dwExtraInfo
2.dwExtraInfo
[in] Specifies an additional value associated with the key stroke.
1.
dwFlags
[in] Specifies various aspects of function operation. This parameter can be one or more of the following values.
KEYEVENTF_EXTENDEDKEY
If specified, the scan code was preceded by a prefix byte having the value 0xE0 (224).
KEYEVENTF_KEYUP
If specified, the key is being released. If not specified, the key is being depressed.
dwExtraInfo
2.dwExtraInfo
[in] Specifies an additional value associated with the key stroke.
Вопрос: "Почему вы все сионисты? Нельзя ли писать на чём то другом?".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".
Если этот флаг установлен, то эмулируется не нажатие, а отпускание клавиши.atavin-ta писал(а):KEYEVENTF_KEYUP
If specified, the key is being released. If not specified, the key is being depressed.
А если KEYEVENTF_EXTENDEDKEY - то scan=0xE0? Так просто? А что такое "дополнительные величины, ассоцированные с кеей"? Какие то дополнительные данные? В каком формате? И вообще они обязательны? Или можно дать какой нибудь дефолт по всему dwExtraInfo и не мучаться?
Вопрос: "Почему вы все сионисты? Нельзя ли писать на чём то другом?".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".
Просто к скан-код с былых времен однобайтовый, у некоторых клавиш скан-коды совпадают, например у стрелок и букв "HPKM", поэтому они отличаются префиксом расширеной клавиши. Стрелки, нумлок, капс, скролл и пр. считаются расширенными и даже аппаратно читаются из порта клавиатуры как двухбайтовые. Если из порта встретился превикс расширенного скан-кода, то читается следущий код, идентифицирующий расширеную клавишу. В мультимедийных клавах все дополнительные кнопки идут с тем же префиксом." писал(а):А если KEYEVENTF_EXTENDEDKEY - то scan=0xE0?
это фичи события, читай GetMessageExtraInfo. Вообще там по дефолту можно 0 и не париться, в них имхо ничего полезного для сообщений от клавы." писал(а):Какие то дополнительные данные? В каком формате? И вообще они обязательны? Или можно дать какой нибудь дефолт по всему dwExtraInfo и не мучаться?
It's a long way to the top if you wanna rock'n'roll
Это где? В DWORD dwFlags? Или в PTR dwExtraInfo?" писал(а):Просто к скан-код с былых времен однобайтовый, у некоторых клавиш скан-коды совпадают, например у стрелок и букв "HPKM", поэтому они отличаются префиксом расширеной клавиши. Стрелки, нумлок, капс, скролл и пр. считаются расширенными и даже аппаратно читаются из порта клавиатуры как двухбайтовые. Если из порта встретился превикс расширенного скан-кода, то читается следущий код, идентифицирующий расширеную клавишу. В мультимедийных клавах все дополнительные кнопки идут с тем же префиксом.
Вопрос: "Почему вы все сионисты? Нельзя ли писать на чём то другом?".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".