rundll32
@rundll32

Передать в keybd_event клавиши, выходящие за диапазон byte?

Имеем keybd_event из user32.dll с такой сигнатурой:
static extern void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo);

Перечисление Keys (System.Windows.Forms) отлично работает в связке с keybd_event: всякие Keys.A и Keys.Return работают при конвертации их значений в byte, но вот я узнал, что диапазон значений Keys выходит за пределы типа byte. Например, Control имеет значение 131072. Как мне передавать такие клавиши, если аргумент bVk это байт?
  • Вопрос задан
  • 34 просмотра
Решения вопроса 1
@vabka Куратор тега C#
Токсичный
https://docs.microsoft.com/en-us/windows/win32/inp...
Control - 0x11
LControl - 0xA2
RControl - 0xA3

System.Windows.Forms.Keys - это не virtual key code.

Когда работаете с виндовыми библиотеками - всегда обращайте внимание на микрософтовскую документацию, там всё написано.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы