Эмуляция нажатия мультимедийных клавиш на клавиатуре
18.06.2020 | Категория: Образ мышления: Assembler | Автор: ManHunter
В статье про обработку мультимедийных кнопок я немного коснулся эмуляции их нажатий. Там эмуляция была направлена напрямую в оболочку, сейчас же я расскажу, как выполнять такое действие полноценно, с учетом интересов всех запущенных приложений. Начнем с эмуляции пользовательского ввода с помощью функции SendInput.При всей моей любви к FASM, просто убивает скудность его инклудов. Похоже, что наполнение их данными остановилось на Win2000, а если захочется что-нибудь чуть новее, то все, добро пожаловать в MSDN. И хорошо, если структура окажется на пять-десять записей. Вот и сейчас нам придется самостоятельно описать структуру INPUT и обозначить коды мультимедийных клавиш.
Code (Assembler) : Убрать нумерацию
- struct MOUSEINPUT
- dx dd ?
- dy dd ?
- mouseData dd ?
- dwFlags dd ?
- time dd ?
- dwExtraInfo dd ?
- ends
- struct KEYBDINPUT
- wVk dw ?
- wScan dw ?
- dwFlags dd ?
- time dd ?
- dwExtraInfo dd ?
- ends
- struct HARDWAREINPUT
- uMsg dd ?
- wParamL dw ?
- wParamH dw ?
- ends
- struct INPUT
- type dd ?
- union
- mi MOUSEINPUT
- ki KEYBDINPUT
- hi HARDWAREINPUT
- ends
- ends
- INPUT_KEYBOARD = 1
- VK_VOLUME_UP = 0xAF
- VK_VOLUME_DOWN = 0xAE
- VK_LAUNCH_APP2 = 0xB7
Читать статью целиком »
Просмотров: 1516 | Комментариев: 2