Взаимодействие с внешним приложением, winapi

222
06 июля 2017, 00:02

Для изучения используется приложение Steam.

Имеется окно входа с полями "Логин" и "Пароль". Как передать им значения если:

1) Хендл имеет только главное окно (дочерних окон нет)
2) Окно должно быть скрыто от пользователя (без разницы - на заднем плане или вообще только в виде процесса)
3) Название класса главного окна при каждом запуске меняется (не проблема, но вдруг)

Открываю следующим образом:

var process = new Process();
process.StartInfo.UseShellExecute = false;
process.StartInfo.FileName = "D:/Games/Steam/Steam.exe";
process.Start();

Изначально планировал сделать ввод через SendMessage напрямую, но нужно знать адрес цели (пункт 1). Потом хотел передавать нажатия клавиш окну, но для этого оно должно быть активным (пункт 2). Пока копаю в сторону steam-web-api, но если попадутся другие приложения с той же проблемой?

Не хочется собирать грабли, может кто сталкивался с подобными задачами. Чтоб не ругались, собственно вопрос: как взаимодействовать с окном учитывая все выше перечисленные "если"?

READ ALSO
Горячие клавиши и UserControl

Горячие клавиши и UserControl

Есть UserControl, в котором, помимо прочего, есть DataGrid

361
progressbar при загрузке документа из БД. C#, DevExpress

progressbar при загрузке документа из БД. C#, DevExpress

Как настроить progressbar, чтобы отображал загрузку документ из БДДокумент вытягиваю запросом

261