Можно ли обнаружить движения окон внешних приложений на рабочем столе?

Фон:

В Windows 7 можно максимизировать и "полу-максимизировать" окна приложений, перетаскивая их в верхний / верхний левый / верхний правый угол экрана (последние два заставят окна вашего приложения заполнять экран вертикально, но только заполнить половину экрана по горизонтали, чтобы другое приложение было "полу-развернуто" в другой половине).

Я часто использую эту функцию - если не постоянно. У меня 30-дюймовый экран с разрешением 2560x1600 пикселей, что является большим преимуществом экрана. В большинстве случаев мне не нужно все это для одного приложения; исключение составляет работа с 2D/3D дизайном, фотография / видео / аудио редактирование - это все, чем я занимаюсь - и программирование. Все это, как правило, требует хорошего обзора проекта для эффективного использования или получения выгоды от широкой области отображения (временные рамки и т. д.). Но в последнее время я имею Мне было удобнее позволить Visual Studio в большинстве случаев занимать только половину ширины экрана. Свертывание нескольких наборов инструментов / проводников в любом случае обеспечивает большую горизонтальную область для самого кода, а также позволяет мне запускать другое приложение на стороне, всегда видимым (документация, заметки, веб-сайты, отладка и т. д.) - что значительно повышает мою производительность.

Очевидно, что вы всегда можете сделать это вручную, просто изменив размеры окон на то, что вам нужно, и расположив их соответствующим образом, но я большой поклонник "оснасток" - когда окна надежно закреплены и могут быть перемещены внутрь и наружу стыковки. позиция. Visual Studio IDE является хорошим примером этого. Мне нравится, как все сидит плотно и компактно, в то же время учитывая реорганизацию и изменение размера.

Я всегда хотел быть в состоянии сделать это с любым приложением на рабочем столе. Это значит, что у вас есть какая-то инфраструктура, в которой вы можете перетаскивать отдельные окна приложений на панели, где они фиксируются и остаются на своих местах в любой конфигурации, которую вы хотите. Например, у вас может быть окно блокнота, занимающее верхнюю половину, четверть ширины экрана, с браузером внизу, справа Visual Studio и некоторые другие утилиты, заполняющие остальное. Текущая функция Windows для одного вертикального разделения будет просто одной из многих таких конфигураций (которую можно сохранить и вызвать с помощью сохранения настроек).

Вопрос:

Так что теперь мне интересно, кто-нибудь знает, как это можно сделать? Я имею в виду легкое фоновое приложение, которое можно вызвать с панели задач, а затем управлять окнами приложений, чтобы они имели размеры в соответствии с областями, на которые они перетаскиваются?

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


Редактировать:

В основном, требования для любого подхода были бы:

  • Способность определять, когда окно приложения (перетаскивается и) перетаскивается на одну из предопределенных областей экрана / панелей
  • Возможность настройки размера и положения окна приложения

1 ответ

Решение

Я помню, как раньше использовал что-то подобное. Я думаю, что это был GridMove.

Другие вопросы по тегам