Можно ли обнаружить движения окон внешних приложений на рабочем столе?
Фон:
В Windows 7 можно максимизировать и "полу-максимизировать" окна приложений, перетаскивая их в верхний / верхний левый / верхний правый угол экрана (последние два заставят окна вашего приложения заполнять экран вертикально, но только заполнить половину экрана по горизонтали, чтобы другое приложение было "полу-развернуто" в другой половине).
Я часто использую эту функцию - если не постоянно. У меня 30-дюймовый экран с разрешением 2560x1600 пикселей, что является большим преимуществом экрана. В большинстве случаев мне не нужно все это для одного приложения; исключение составляет работа с 2D/3D дизайном, фотография / видео / аудио редактирование - это все, чем я занимаюсь - и программирование. Все это, как правило, требует хорошего обзора проекта для эффективного использования или получения выгоды от широкой области отображения (временные рамки и т. д.). Но в последнее время я имею Мне было удобнее позволить Visual Studio в большинстве случаев занимать только половину ширины экрана. Свертывание нескольких наборов инструментов / проводников в любом случае обеспечивает большую горизонтальную область для самого кода, а также позволяет мне запускать другое приложение на стороне, всегда видимым (документация, заметки, веб-сайты, отладка и т. д.) - что значительно повышает мою производительность.
Очевидно, что вы всегда можете сделать это вручную, просто изменив размеры окон на то, что вам нужно, и расположив их соответствующим образом, но я большой поклонник "оснасток" - когда окна надежно закреплены и могут быть перемещены внутрь и наружу стыковки. позиция. Visual Studio IDE является хорошим примером этого. Мне нравится, как все сидит плотно и компактно, в то же время учитывая реорганизацию и изменение размера.
Я всегда хотел быть в состоянии сделать это с любым приложением на рабочем столе. Это значит, что у вас есть какая-то инфраструктура, в которой вы можете перетаскивать отдельные окна приложений на панели, где они фиксируются и остаются на своих местах в любой конфигурации, которую вы хотите. Например, у вас может быть окно блокнота, занимающее верхнюю половину, четверть ширины экрана, с браузером внизу, справа Visual Studio и некоторые другие утилиты, заполняющие остальное. Текущая функция Windows для одного вертикального разделения будет просто одной из многих таких конфигураций (которую можно сохранить и вызвать с помощью сохранения настроек).
Вопрос:
Так что теперь мне интересно, кто-нибудь знает, как это можно сделать? Я имею в виду легкое фоновое приложение, которое можно вызвать с панели задач, а затем управлять окнами приложений, чтобы они имели размеры в соответствии с областями, на которые они перетаскиваются?
Я уверен, что это возможно, но для меня это должно быть выполнимо в.Net (я использую VB сам), без большого количества низкоуровневого обмана.
Редактировать:
В основном, требования для любого подхода были бы:
- Способность определять, когда окно приложения (перетаскивается и) перетаскивается на одну из предопределенных областей экрана / панелей
- Возможность настройки размера и положения окна приложения
1 ответ
Я помню, как раньше использовал что-то подобное. Я думаю, что это был GridMove.