![]() |
|
![]() ![]() ![]() |
|
disputant |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 210 Регистрация: 28.11.2011 Репутация: нет Всего: 3 |
Добрый день!
Есть такая проблема. Программа, написана на Visual C++ с использованием wxWidgets. Задача: сымитировать рабочую сессию. Т.е. переписать программу так, чтобы можно было задать что-то типа описания действий, и программа запускается, и начинает автоматически нажимать кнопочки, выбирать пункты меню и т.п. Основная проблема — как это делается? Требуется, чтобы при нажатии кнопки отработали все действия из соответствующего обработчика. Как я понимаю, надо создать wxCommandEvent, и как-то его передать обработчику. Пробовал в главном окне что-то типа для кнопки-переключателя
Ничего не сработало. Как это делать правильно, и второй вопрос — где? В какой функции? Чтоб можно было программу, грубо говоря, из пакетного файла запустить, чтоб она сама все посчитала и закрылась, без малейшего вмешательства человека. |
|||
|
||||
Amp |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 886 Регистрация: 17.2.2009 Репутация: 7 Всего: 17 |
Тебе надо будет завести отдельный поток, который будет находить эвентхэндлеры (окна, диалоги, панели, кнопки) и посылать им сообщения. К примеру находится кнопка по какому-то признаку (wxWindow::FindWindow), посылается ей эвент, затем ищется диалог, который появился после нажатия, и происходит работа уже с ним. Хорошо, если тебе вдруг известны идентификаторы виджетов. Тонкостей там очень много.
Главный вопрос - зачем тебе все это? Тестирование UI? Автоматизация действий? Может в твоем случае проще будет взять стороннее приложение типа AutoIt. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |