У меня есть EXE-файл для приложения «MyWindow1», которое запускает окно с несколькими выпадающими меню, несколькими кнопками и т. Д.
У меня нет исходного кода для этого приложения «MyWindow1». То, что я только что EXE & некоторые из его зависимых DLL, которые необходимы для запуска его окна & сделать это функциональность.
Теперь у меня есть еще один модуль C ++, из которого я автоматически запускаю это приложение «MyWindow1» с помощью API-интерфейсов CreateProcess (). & завершить его автоматически с помощью «system (taskkill)».
Но я даже хочу автоматизировать выбор выпадающего меню, несколько нажатий кнопок для кнопок, присутствующих в этом приложении «MyWindow1».
Есть ли способ, которым я могу автоматизировать это, даже если у меня нет исходного кода для этого приложения «MyWindow1» (возможно, с использованием MFC)
использование SendInput
симулировать нажатия клавиш и движения мыши. Имитация нажатий клавиш, вероятно, является наиболее точным способом автоматизации меню.
Кроме того, убить процесс не очень чистый способ выйти из него. Ты можешь отправить WM_CLOSE
в главное окно, или продолжайте автоматизировать нажатия клавиш с помощью SendInput
чтобы выйти правильно, как пользователь.
Вероятно, проще всего использовать что-то вроде autohotkey ( http://www.autohotkey.com/ ) и сгенерировать различные скрипты autohotkey с C ++ для запуска. Autohotkey также имеет пользовательскую библиотеку взаимодействий для .Net согласно википедии ( http://en.wikipedia.org/wiki/AutoHotkey ).
Я бы порекомендовал pywinauto Пакет Python. Я использую его для приложений MFC на регулярной основе. Вы найдете демонстрационное видео на сайте автора.