Целевое окно, как минимизировать, увеличить или восстановить его в C#

Это первая в серии записей, которая позволяет одному приложению манипулировать целевым окном в другом приложении. Обратите внимание, что это не то, что Microsoft действительно хочет, чтобы вы сделали. В общем случае одно приложение не должно возиться с другим приложением. Поскольку это не одобрено Microsoft, поддержка манипуляции целевым окном в другом приложении невелика.

Эта программа находит целевое окно в другом приложении и сводит к минимуму, максимизирует или восстанавливает его.

В этом примере используются несколько функций и структур API. Их определения длинны, поэтому я не буду включать их всех здесь. Загрузите пример, чтобы увидеть их. Ниже перечислены объявления API.

Когда вы нажимаете кнопку «Установить», выполняется следующий код.

В коде используется функция API FindWindowByCaption для поиска целевого окна. Обратите внимание, что вы должны правильно ввести заголовок целевого окна или FindWindowByCaption не найдет его.

Далее код получает текущее местоположение целевого окна. Перед вызовом GetWindowPlacement (или SetWindowPlacement) код должен сохранить размер структуры WINDOWPLACEMENT в свойстве Length. Код делает это, а затем вызывает GetWindowPlacement.

Программа оставляет все поля WINDOWPLACEMENT отдельно, за исключением свойства ShowCmd, которое он устанавливает для максимизации, минимизации или восстановления цели.

Наконец, код вызывает SetWindowPlacement, чтобы дать цели новое состояние.

Источник: http://csharphelper.com/blog/2016/12/find-a-target-window-and-minimize-maximize-or-restore-it-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)

Add a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *