![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как послать кобинацию клавишь?
Veche © (2007-01-25 18:31:00)Доброго времени суток всем. Мне требуется передать приложению (допустим 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);
Но может я чего-то не понимаю. Поделитесь своими знаниями...
Юрий Зотов (2007-01-26 10:10:00) [1]Еще CTRL+UP легко имитируется с помощью F1. Потому что там описаны параметрысообщений.
АKEYEVENTF_EXTENDEDKEY or 0- это не круто. Это ОЧЕНЬкруто.
Veche (2007-01-26 09:55:00) [2]Я был об этом форуме лучшего мнения =(
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 - пользовательская функция, которая переключает фокус на нужное приложение (надеюсь правильно написал =) )