Форум: "WinAPI";
Текущий архив: 2012.01.08;
Скачать: [xml.tar.bz2];
ВнизКак послать нажатие клавиши F2 а затем клавишу "A" Найти похожие ветки
← →
trix (2009-09-23 18:25) [0]Как послать нажатие клавиши F2 а затем клавишу "A" стороннему приложению. Приложение со скрытой формой, знаю только хендл заголовка, разные keybd_event не подходят. Если можно пример для F2, дальше сам справлюсь.
← →
trix (2009-09-23 18:29) [1]пробовал так
SendMessage(h, wm_char, 121, 0);
не работает.
← →
Leonid Troyanovsky © (2009-09-23 18:46) [2]
> trix (23.09.09 18:29) [1]
> SendMessage(h, wm_char, 121, 0);
Скрытые окна, во-ще, не обязаны обрабатывать клавиатурный ввод.
Если это, дейс-но, скрытое окно, то, вероятно, на F2 оно срабатывает
через RegisterHotKey, и, сл-но, keybd_event вполне уместен.
Подозрительно лишь то, что F2 vs Ctrl+Shift+Alt+F2, бо конфликт
слишком вероятен.
Поэтому, лучше неторопливо рассказать, про приложение
и что за окна оно скрывает.
--
Regards, LVT.
← →
trix (2009-09-23 18:52) [3]keybd_event не подходит ввиду того, что оконо не активно!
все равно как-то можно, так какPostMessage(cwnd, WM_LBUTTONDOWN, 0, 0);
PostMessage(cwnd, WM_LBUTTONUP, 0, 0);
прекрасно работает и на приложениях со скрытой формой.
← →
Leonid Troyanovsky © (2009-09-23 19:00) [4]
> trix (23.09.09 18:52) [3]
> keybd_event не подходит ввиду того, что оконо не активно!
Значит, RegisterHotKey можно исключить.
Партизанство, IMHO, неуместно.
У приложения есть другие (нескрытые) окна?
Скрытое окно есть child?
> прекрасно работает и на приложениях со скрытой формой.
Это свезло.
--
Regards, LVT.
← →
trix (2009-09-23 19:10) [5]WM_SYSKEYDOWN 79 440001
WM_SYSKEYUP 79 C0440001
при нажатии в любой открытой форме, пытаюсь сделать вот так, чтобы повторить это нажатие в любой форме.
PostMessage(h,WM_SYSKEYDOWN,79,440001);
PostMessage(h,WM_SYSKEYUP,79,$C0440001);
хендл окна получаю верный, но ничего не происходит.
← →
Leonid Troyanovsky © (2009-09-23 19:14) [6]
> trix (23.09.09 19:10) [5]
> PostMessage(h,WM_SYSKEYDOWN,79,440001);
> PostMessage(h,WM_SYSKEYUP,79,$C0440001);
> хендл окна получаю верный, но ничего не происходит.
Ерундой болтаешь.
Я ж, вроде, понятно спросил.
И с чего это вдруг WM_SYSKEY.
--
Regards, LVT.
← →
trix (2009-09-23 19:15) [7]Хорошо, как вообще послать нажатие клавиши любому приложению. Клавиша F2, приложение неактивно, знаем только хендл заголовка.
← →
trix (2009-09-23 19:22) [8]обычный notepad
← →
trix (2009-09-23 19:32) [9]для нотепада работает
PostMessage(h, WM_keydown, vk_f2, 0);
PostMessage(h, WM_keyUP, vk_f2, 0);
но этоне для всех приложений, для других просто нет такой обработки
← →
Leonid Troyanovsky © (2009-09-23 19:36) [10]
> trix (23.09.09 19:15) [7]
> Хорошо, как вообще послать нажатие клавиши любому приложению.
> Клавиша F2, приложение неактивно, знаем только хендл заголовка.
Считай, что никак.
> обычный notepad
А чего такого notepad делает по F2?
Впрочем, notepad проcт:
http://groups.google.com/group/fido7.ru.delphi/msg/925bebee0309bec9
--
Regards, LVT.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2012.01.08;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.003 c