![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| Umnik7 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 30.1.2009 Репутация: нет Всего: нет |
Мне надо написать программу, которая бы управляла другой GUI программой. При этом надо программно нажимать кнопки, выбирать разные пункты меню и выделять мышью требуемую область экрана... Что обычные кнопки можно нажимать программно это я знаю. А остальное (и особенно последнее) - возможно? Если да, то что почитать на эту тему?
|
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 33 Всего: 183 |
Пункты меню тоже выбираются кликом мыши. Соответственно, чтобы это сделать нужно эмулировать клик мыши в нужной области экрана.
Выделить мышью область экрана - то же самое: переместить мышь, нажатие, переместить, отпускание. Мышь эмулирует функция mouse_input, клавиатуру - keybd_event; еще можно использовать SendInput. Кроме этого, тебе понадобятся функции для активизации нужного окна, поиска в нем нужных элементов (например, по ID), ну и по мелочи... -------------------- ... |
|||
|
||||
| Umnik7 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 30.1.2009 Репутация: нет Всего: нет |
А можно все это делать без активизации окна программы?
|
|||
|
||||
| Master01 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 22.8.2007 Репутация: нет Всего: 2 |
писал такое в рамках курсовой работы в универе. Только с тем небольшим отличием, что сначала "записывал" действия выполняемые "живым" пользователем, а потом "проигрывал" их. Идея простая - отсылать окну (кнопке, списку и пр.) с нужным HWND соответствующии WM сообщения, в зависимости от того что вы хотите с ним сделать. |
|||
|
||||
| Umnik7 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 30.1.2009 Репутация: нет Всего: нет |
Окно при этом не надо делать активным?
Это сообщение отредактировал(а) Umnik7 - 6.10.2010, 14:53 |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 33 Всего: 183 |
Когда как. События мыши (которые эмулирует mouse_event) приходят верхнему окну под курсором - если нет капчи.
А вот события клавиатуры - окну в фокусе. Так что сам решай, пробуй и т.д -------------------- ... |
|||
|
||||
| ASMatic |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 254 Регистрация: 14.3.2009 Репутация: 1 Всего: 1 |
||||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |