В продолжение статьи Как осуществить взаимодействие со сторонним приложением - изменение положения/размера, получение текста заголовка и т.д. предлагаю простой алгоритм автоматического распределения большого количества однотипных окон на рабочем столе. Это может пригодится, например, трейдерам, у которых может быть одновременно открыто большое количество торговых терминалов. Пример работы алгоритма показан ниже:
Как осуществить взаимодействие со сторонним приложением — изменение положения/размера, получение текста заголовка и т.д.
Алгоритм простой — для начала нам необходимо получить хендл (handle) окна, над которым мы будем проводить манипуляции. Это можно сделать по названию процесса при помощи объекта Process — получаем процесс методом GetProcessesByName(), а затем из процесса методом MainWindowHandle получаем указатель на окно (handle). После этого с окном можно производить различные манипуляции — получать информацию, изменять свойства, отправлять сообщения и т.д. Далее листинг функции получающий текст заголовка окна (в случае наличия такового):