Манипулировать окнами других приложений с помощью .NET? - PullRequest
2 голосов
/ 15 апреля 2011

Можно ли каким-то образом манипулировать окном другого работающего приложения с моим собственным кодом .NET (Windows 7)? Я часто использую PuTTY, и мне было бы очень полезно написать программу, которая добавляет комбинацию клавиш, которая выполняет те же действия, что и щелчок правой кнопкой мыши на панели задач в Windows 7 и выбор «Показать окна рядом», но не для всех окон. Просто для каждого открытого экземпляра PuTTy, поэтому у меня есть обзор каждого открытого соединения. Я надеюсь, что это не кажется запутанным. В любом случае, чтобы достичь этого, мне нужно иметь возможность манипулировать ими другими окнами (в данном случае окнами PuTTY), например, изменять их размеры, перемещать, отображать / скрывать и т. Д.

Если это вообще возможно, я бы хотел придерживаться C #, а не C / C ++

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

1 Ответ

3 голосов
/ 15 апреля 2011

Это определенно должно быть возможно, но потребуется целый арсенал платформенных вызовов. Соответствующие функции WINAPI для вызова: EnumWindows для извлечения всех окон верхнего уровня, GetWindowInfo для извлечения местоположения, размера и заголовка каждого окна и, наконец, MoveWindow перемещать и изменять размеры соответствующих окон.

Удачи!

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