Главная страница
    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.46 MB
Время: 0.003 c
2-1317454345
vgvolk
2011-10-01 11:32
2012.01.08
Разворачивание окна автоматически


1-1279098114
packpaul
2010-07-14 13:01
2012.01.08
Реализация null-методов класса в Delphi


15-1316348444
alexdn
2011-09-18 16:20
2012.01.08
Php bb форумный движек и спам боты


15-1316525842
БарЛог
2011-09-20 17:37
2012.01.08
Резюме улыбнуло


3-1269608174
mefodiy
2010-03-26 15:56
2012.01.08
MySQL запрос





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский