Главная страница
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.093 c
15-1169438560
Slider007
2007-01-22 07:02
2007.02.11
С днем рождения ! 22 января


2-1169410119
Гость_
2007-01-21 23:08
2007.02.11
Насколько быстро работает FindComponent


2-1169430968
delphim
2007-01-22 04:56
2007.02.11
цвет ячейки combobox


4-1159431891
dima_shapkin
2006-09-28 12:24
2007.02.11
Системные иконки


6-1157965971
dwar
2006-09-11 13:12
2007.02.11
INDY 9 проблемма стоп сервера