Как управлять приложением MFC из другой программы? - PullRequest
1 голос
/ 24 июня 2010

У меня есть двоичное приложение для Windows (программа расписания поездов), которое содержит много интересных данных, которые мне нужны для моего проекта (ничего противозаконного, просто какой-то странный алгоритм оптимизации).Но приложение не имеет API, а файлы данных имеют недокументированную двоичную форму.

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

Есть ли для этого библиотека?Или пример?У меня есть общее представление о том, как это сделать, но я ленив и не хочу изобретать колесо.

Кроме того, такие же данные доступны в Интернете.Есть ли какое-то решение для той же задачи с веб-приложениями ASP (Win формы)?Я мог бы, вероятно, обработать синтаксический анализ результатов, но я не знаю, как заполнить значения элементов управления веб-формами.

Заранее спасибо.

1 Ответ

1 голос
/ 24 июня 2010

Вы можете использовать простые Win32 API для этого.

FindWindowEx и затем, когда у вас есть дескриптор окна, вы можете отправить ему любое сообщение (например, WM_KEYDOWN ), используя SendMessage .

Хорошим инструментом, который помогает в этом процессе, является Spy ++, поскольку он позволяет более легко видеть иерархию окон, а также то, какие сообщения используются внутри приложения, которое вы отслеживаете.

Как и в ИнтернетеЭлементы управления формы, вам, вероятно, придется выполнять больше работы, чем эта, потому что, как правило, сеть представляет собой один элемент управления Canvas, на который все настраивается в зависимости от браузера.Возможно, сделать это через какой-то прокси-сервер - лучший подход, когда вы действительно фильтруете HTML-страницы.

...