C ++, кнопки AutoClick - PullRequest
       5

C ++, кнопки AutoClick

1 голос
/ 21 февраля 2011

Есть кто-нибудь опыт или идеи по поводу следующего. У меня есть тестовое приложение, которое я разработал. Он имеет переключатели, обычные кнопки, выпадающие меню и т. Д. Я надеюсь написать еще одно приложение, которое запустит мое первое приложение, автоматически нажать кнопку «ОК» с надписью «Добро пожаловать в приложение» и затем выбрать раскрывающиеся параметры. радиокнопки и т. д.

Возможно ли это, или кто-то может предоставить мне пример кода, который я мог бы использовать для настройки того, что я хочу сделать.

До сих пор я справился с очень простой задачей - запустить мое тестовое приложение с помощью этого кода:

#include <cstdlib>
int main()
{   // Replace 'path' with the location of these files.   

    system( "\"D:/Test/Bin/Test.exe\"" ); 
    return 0;
} 

Ответы [ 4 ]

0 голосов
/ 21 февраля 2011

Я думаю, что лучший способ кодировать ваше приложение - это использовать систему вызова API ... Если вы используете linux, вы можете прочитать API X11, если вы находитесь в BSD, прочитать API posix, и ... если вы находятся в окнах, читайте de msdn ... Вы должны искать, как управлять обработчиками Windows и мышью API ...

Я надеюсь, что мой ответ может помочь вам ...

0 голосов
/ 21 февраля 2011

AutoIt - это язык сценариев, который может управлять графическим интерфейсом другого приложения в Windows. Скрипты AutoIt могут работать автономно, но они также доступны в виде DLL, поэтому вы можете встроить их в свою функцию int main(), если действительно хотите.

Похоже, что AutoIt должен делать то, что вы хотите, но если у вас есть более конкретные вопросы, пожалуйста, отредактируйте этот вопрос, чтобы добавить его или опубликовать как дополнительные вопросы.

0 голосов
/ 21 февраля 2011

Я не знаю, как это сделать программно, но в прошлом я использовал autoit , см. Для написания простого толкателя кнопки GUI. Это может позволить вам делать то, что вы хотите.

0 голосов
/ 21 февраля 2011

Запуск приложения с system( "\"D:/Test/Bin/Test.exe\"" ); даже не даст вам возможности взаимодействовать с приложением.system() блокирует и ждет, пока внутреннее приложение завершит работу, прежде чем вернуться.

Радиокнопки и т. Д. Имеют графический пользовательский интерфейс.Для взаимодействия с другой программой необходимо предоставить некоторый интерфейс межпроцессного взаимодействия (IPC).Создание одной программы для использования другой программы через графический интерфейс может быть возможным, но это, безусловно, очень сложно и неоптимально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...