Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
15-1316041496
Кто б сомневался
2011-09-15 03:04
2012.01.08
Кто там говорил что человек не биоробот?


2-1316964668
Avpsol
2011-09-25 19:31
2012.01.08
Проблема с построением цикла


15-1312890604
БарЛог
2011-08-09 15:50
2012.01.08
Задача: стальной шар радиусом R падает в воду


15-1316636981
Юрий
2011-09-22 00:29
2012.01.08
С днем рождения ! 22 сентября 2011 четверг


2-1310979425
D_2010
2011-07-18 12:57
2012.01.08
Как обработать приход нескольких одинаковых TMessage как одно?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский