Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.12.26;
Скачать: 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 вся ветка

Текущий архив: 2010.12.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.01 c
15-1284496168
Юрий
2010-09-15 00:29
2010.12.26
С днем рождения ! 15 сентября 2010 среда


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


8-1208678505
Jimmy
2008-04-20 12:01
2010.12.26
Доступ к объектам метафайла.


2-1285829767
TheEd
2010-09-30 10:56
2010.12.26
Как сменить курсор во время OnMouseDown


15-1284513243
brother
2010-09-15 05:14
2010.12.26
Microsoft отказалась поддерживать антипиратские рейды в России