Вниз
Скачать: CL | DM;

Эмулирование нажатия комбинации клавиш CTRL+<стрелка>   Найти похожие ветки 

 
Warner   (2009-05-23 04:44) [0]

Нужно в эмулировать нажатие комбинации ctrl+<стрелка влево> в окне чужого приложения. Делаю это таким кодом:

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);

При этом контрол нажимается а стрелка нет. Причем если в шоткате вместо стрелки буква (напр. ctrl+R), то код работает нормально. Подскажите, в чем моя ошибка? Или быть может есть какие-то альтернативные константы или коды для обозначения таких сочетаний клавиш?


 
KilkennyCat ©   (2009-05-24 01:36) [1]


> в чем моя ошибка?

37
Ты уверен, что хочешь использовать аппаратный код? И что делаешь это правильно?


 
KilkennyCat ©   (2009-05-24 01:39) [2]

И вообще:
keybd_event Function
Windows NT/2000/XP/Vista:This function has been superseded. Use SendInput instead.


 
Warner   (2009-05-24 01:45) [3]


> Ты уверен, что хочешь использовать аппаратный код?

а как еще это можно сделать?

> И что делаешь это правильно?

если в шоткате буквы вместо стрелок, то все получается, поэтому склонен думать что это делается именно так


 
KilkennyCat ©   (2009-05-24 02:34) [4]


> если в шоткате буквы вместо стрелок

буквы не требуют KEYEVENTF_EXTENDEDKEY


 
KilkennyCat ©   (2009-05-24 02:35) [5]

http://msdn.microsoft.com/en-us/library/ms646304(VS.85).aspx



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.007 c
2-1285908107
JohnKorsh
2010-10-01 08:41
2010.12.26
ComboBox, свойства.


2-1285836397
Novi4ok
2010-09-30 12:46
2010.12.26
TFont to String, TColor to String


2-1285737249
ruslan_as
2010-09-29 09:14
2010.12.26
Как начать считывать текстовый файл с нужной строки


15-1284625750
SPeller
2010-09-16 12:29
2010.12.26
Кто разбирается в ОО проектировании? Совет бы мне...


2-1274640351
vegarulez
2010-05-23 22:45
2010.12.26
Докачка файлов через idhttp.




   Наверх