Top.Mail.Ru
Ответы

Delphi эмуляция нажатия клавиш

пытаюсь программно эмулировать нажатие клавиш ctrl+<стрелка влево>
использую такой код:

SendMessage(h, WM_SYSCOMMAND, SC_HOTKEY, h); // h - окно нужного приложения
keybd_event(VK_CONTROL, 0, 0, 0);
keybd_event(37, 0, 0, 0);
keybd_event(37, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);

по нему нажимается ctrl (вижу если добавляю sleep после второй строки), но стрелка не нажимается.
если знаете, подскажите в чем моя ошибка

Дополнен

нажатия эмулирую в чужом приложении, окно которого активно в данный момент

Дополнен

а может быть есть код символа для сочетания ctrl+< ?

По дате
По рейтингу
Аватар пользователя
Новичок
16лет

Тогда так пробуй!
SendMessage(h, WM_SYSCOMMAND, SC_HOTKEY, h); // h - окно нужного приложения
keybd_event(VK_CONTROL, 0, 0, 0);
keybd_event(VK_LEFT, 37, 0, 0);
keybd_event(VK_LEFT, 37, KEYEVENTF_KEYUP, 0);
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);

Аватар пользователя
Оракул
16лет

еще нужно отпустить стрелку наверно (key_Down)