Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.02.11;
Скачать: CL | DM;

Вниз

Как послать кобинацию клавишь?   Найти похожие ветки 

 
Veche   (2007-01-25 18:31) [0]

Доброго времени суток всем. Мне требуется передать приложению (допустим iTunes), хэндл которого я знаю, комбинацию клавишь, типа "CTRL+UP". Как передать отдельное нажатие понятно. Делаю так:

PostMessage(ituneshandle, WM_KEYDOWN, VK_UP, 0);//нужно как нажать так и отпустить клавишу
PostMessage(ituneshandle, WM_KEYUP, VK_UP, 0);

А вот с комбинацией не разобрался... По логике вещей, нужно делать так:

PostMessage(ituneshandle, WM_KEYDOWN, VK_CONTROL, 0);/
PostMessage(ituneshandle, WM_KEYDOWN, VK_UP, 0);

PostMessage(ituneshandle, WM_KEYUP, VK_UP, 0);
PostMessage(ituneshandle, WM_KEYUP, VK_CONTROL, 0);

Но может я чего-то не понимаю. Поделитесь своими знаниями...


 
Veche   (2007-01-26 09:55) [1]

Я был об этом форуме лучшего мнения =(

keybd_event. С помощью этой команды легко имитируется CTRL+UP. Вот рабочий код:

AppActivate(Pchar("iTunes"));
keybd_event(VK_CONTROL,55,KEYEVENTF_EXTENDEDKEY or 0, 0);
keybd_event(VK_UP,55,KEYEVENTF_EXTENDEDKEY or 0, 0);

keybd_event(VK_UP,55,KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
keybd_event(VK_CONTROL,55,KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);

AppActivate - пользовательская функция, которая переключает фокус на нужное приложение (надеюсь правильно написал =) )


 
Юрий Зотов ©   (2007-01-26 10:10) [2]

Еще CTRL+UP легко имитируется с помощью F1. Потому что там описаны параметры сообщений.

А KEYEVENTF_EXTENDEDKEY or 0 - это не круто. Это ОЧЕНЬ круто.



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

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

Наверх




Память: 0.47 MB
Время: 0.043 c
2-1169816073
azl
2007-01-26 15:54
2007.02.11
HotKeys (ShortCut)


2-1169645465
Графика
2007-01-24 16:31
2007.02.11
Метод канвы TextOut


15-1169045417
Hillbert
2007-01-17 17:50
2007.02.11
Оценка работы


8-1150393736
SamProf
2006-06-15 21:48
2007.02.11
Mediaplayer из потока


5-1148281252
deltav1
2006-05-22 11:00
2007.02.11
TTimer