9

Я следовал этому совету:Как отключить автоматическое увеличение / изменение размера окна (аэросъемка), когда рядом с краем экрана?

Но он также отключает функцию, при которой нажимая WinKey + Стрелка влево / вправо, подгоняйте окна к половине экрана в направлении клавиши со стрелкой.

Есть ли способ контролировать их самостоятельно?

4 ответа4

2

Я искал это в прошлом, и я не верю, что есть способ сделать это в самой Windows. Тем не менее, существует сторонняя альтернатива. Во-первых, отключите аэроснимок по ссылке в вашем вопросе. Затем с помощью WindowsPad (специальной настройки скрипта AutoHotkey ) вы можете восстановить перемещение окон между экранами в настройке с несколькими мониторами, использовать привязку влево / вправо и многое другое (привязка сверху, снизу, по середине и по углу). По умолчанию WindowsPad использует ключи Win + NumPad (из-за добавленной функциональности), но вы можете добавить функциональность клавиш со стрелками, подобными аэро-привязке, добавив следующее в раздел [Hotkeys] файла WindowsPad.ini:

#+Left = WindowScreenMove, Next
#+Right = WindowScreenMove, Prev
#Left = WPM, -1,  0,  0.5, 1.0
#Right = WPM, +1,  0,  0.5, 1.0
#Up = MaximizeToggle
#Down = Restore

К сожалению, вы теряете возможность привязываться к 50% экрана, а затем восстанавливать исходное положение (поскольку оно фактически изменяет размер окна, а не использует аэросъемку). Но пока что это единственный недостаток, который я нашел.


Демонстрация функций WindowsPad для угловых и нижних защелок:

WindowsPad Demo

2

Вы можете попробовать мою коллекцию инструментов Windows. Ниже приведены горячие клавиши для перемещения окон:

Win+Array: Move the active window based on other visible windows. This allows for fast window alignment.
Shift+Win+Array: Move the left-up corner of the active window.
Alt+Win+Array: Move the right-bottom corner of the active window.
Ctrl+Win+Array: Dock the active window
Alt+F9: Minimize the active window
Alt+F10: Toggle maximize the active window

Июнь 2015

Поскольку код Google выводится из эксплуатации, я переместил код на github. На вики-странице есть некоторая справочная информация: rwin wiki

2

Хотя не может быть способа сделать это через графический интерфейс, есть способ сделать это программно.

Функция, которую вы хотите, это SystemParametersInfo. Вы можете прочитать об этом в MSDN, если вы хотите, чтобы он имел все возможности (он может получить доступ к абсурдному числу настроек), но вас заинтересуют SPI_SETDOCKMOVING и SPI_SETSNAPSIZING .

SPI_SETDOCKMOVING включает возможность привязывать окна, перетаскивая их за заголовки. Вы можете отключить его так:

SystemParametersInfo(SPI_SETDOCKMOVING, 0, NULL, SPIF_SENDCHANGE | SPIF_UPDATEINIFILE)

SPI_SETSNAPSIZING включает возможность привязывать окна, изменяя их размеры с использованием их верхней и нижней границ. Вы можете отключить его так:

SystemParametersInfo(SPI_SETSNAPSIZING, 0, NULL, SPIF_SENDCHANGE | SPIF_UPDATEINIFILE)

Чтобы включить любой из них, просто сделайте тот же вызов с ненулевым номером для второго аргумента. Чтобы изменения не сохранялись после перезагрузки, уберите флаг SPIF_UPDATEINIFILE из последнего аргумента.

Чтобы сохранить горячие клавиши, не отключайте AeroSnap на панели управления или в реестре.

Прилежный может заметить, что приведенные здесь аргументы не такие, как вы могли бы ожидать от документации. В частности, переключаются pvParam и uiParams. Это единственный способ заставить эту функцию работать на моем компьютере (под управлением Windows 8.1), поэтому я подозреваю, что в документации есть ошибка.

0

Вы можете сделать это в реестре.

  1. Откройте regedit.exe
  2. Перейдите к HKEY_CURRENT_USER \Control Panel\Desktop
  3. Выберите поле WindowArrangementActive , дважды щелкнув его
  4. Установите значение 0
  5. Перезагрузка (выход из системы и снова может работать)

Находится здесь http://www.technorms.com/33660/how-to-disable-the-windows-snap-feature

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .