Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.09.27;
Скачать: [xml.tar.bz2];

Вниз

Эмулируем нажатие клавиши   Найти похожие ветки 

 
Verden ©   (2009-07-22 11:28) [0]

Вообщем, нужно эмулировать нажатие клавиши E для пропуска хода в одной по шаговой игре?

находил примеры для капслока, но тут они отказывается работать...


 
Юрий Зотов ©   (2009-07-22 11:49) [1]

Посмотрите keybd_event в справке по WinAPI.


 
Verden ©   (2009-07-22 12:50) [2]

с этим я разобрался..

вопрос второй - как найти активное на сей момент окно и заслать туда нажатие клавиши? там иногда сообщения всплывают...


 
Юрий Зотов ©   (2009-07-22 12:59) [3]

GetForegroundWindow
SendMessage


 
Verden ©   (2009-07-22 13:16) [4]

Sendmessage(GetForegroundWindow, WM_KEYDOWN,VK_RETURN,0);
SendMessage(GetForegroundWindow,WM_KEYUP,VK_RETURN,1);

так? все равно не удаеться отправить Enter...


 
Юрий Зотов ©   (2009-07-22 13:24) [5]

Похоже, отправлять надо КНОПКЕ, а не top-level окну.

FindWindowEx или GetWindow


 
Verden ©   (2009-07-22 15:10) [6]

ух... действительно кнопке =) но честно говоря вот в этих функциях я запутался с аргументами... что в них точно подставлять? можно пример привести?


 
Юрий Зотов ©   (2009-07-22 15:40) [7]

Если окно кнопки - первая среди дочерних, то:
GetWindow(GetForegroundWindow, GW_CHILD);
или
FindWindowEx(GetForegroundWindow, 0, "BUTTON", "OK");

Если же не первое, то сначала находим первое, а потом пляшем от него. В MSDN смотрите, там все это есть.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2009.09.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.004 c
15-1248667367
ganda
2009-07-27 08:02
2009.09.27
убить программу, если выполнение процедуры затянулось


15-1248636256
KilkennyCat
2009-07-26 23:24
2009.09.27
ВМФ!


15-1248899406
Юрий
2009-07-30 00:30
2009.09.27
С днем рождения ! 30 июля 2009 четверг


2-1248260534
FinFira
2009-07-22 15:02
2009.09.27
Как убрать краницу у кнопки


3-1222336216
wsv
2008-09-25 13:50
2009.09.27
Доступ к BerkleyDB





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