Вниз
Скачать: 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-1274640351
vegarulez
2010-05-23 22:45
2010.12.26
Докачка файлов через idhttp.


15-1284551961
Baks
2010-09-15 15:59
2010.12.26
Соединение приложения с БД MySQL


15-1284390803
Eraser
2010-09-13 19:13
2010.12.26
Book reader - какой лучше?


11-1227257194
heilong
2008-11-21 11:46
2010.12.26
использование fastmove с fastmm4


2-1286134005
v_a_belousov
2010-10-03 23:26
2010.12.26
Обращение к группе объектов




   Наверх