-
Как послать нажатие клавиши F2 а затем клавишу "A" стороннему приложению. Приложение со скрытой формой, знаю только хендл заголовка, разные keybd_event не подходят. Если можно пример для F2, дальше сам справлюсь.
-
пробовал так SendMessage(h, wm_char, 121, 0);
не работает.
-
> 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.
-
keybd_event не подходит ввиду того, что оконо не активно! все равно как-то можно, так как PostMessage(cwnd, WM_LBUTTONDOWN, 0, 0);
PostMessage(cwnd, WM_LBUTTONUP, 0, 0); прекрасно работает и на приложениях со скрытой формой.
-
> trix (23.09.09 18:52) [3] > keybd_event не подходит ввиду того, что оконо не активно!
Значит, RegisterHotKey можно исключить.
Партизанство, IMHO, неуместно. У приложения есть другие (нескрытые) окна? Скрытое окно есть child?
> прекрасно работает и на приложениях со скрытой формой.
Это свезло.
-- Regards, LVT.
-
WM_SYSKEYDOWN 79 440001 WM_SYSKEYUP 79 C0440001
при нажатии в любой открытой форме, пытаюсь сделать вот так, чтобы повторить это нажатие в любой форме.
PostMessage(h,WM_SYSKEYDOWN,79,440001); PostMessage(h,WM_SYSKEYUP,79,$C0440001);
хендл окна получаю верный, но ничего не происходит.
-
> trix (23.09.09 19:10) [5]
> PostMessage(h,WM_SYSKEYDOWN,79,440001); > PostMessage(h,WM_SYSKEYUP,79,$C0440001);
> хендл окна получаю верный, но ничего не происходит.
Ерундой болтаешь.
Я ж, вроде, понятно спросил.
И с чего это вдруг WM_SYSKEY.
-- Regards, LVT.
-
Хорошо, как вообще послать нажатие клавиши любому приложению. Клавиша F2, приложение неактивно, знаем только хендл заголовка.
-
обычный notepad
-
для нотепада работает PostMessage(h, WM_keydown, vk_f2, 0); PostMessage(h, WM_keyUP, vk_f2, 0);
но этоне для всех приложений, для других просто нет такой обработки
-
|