Чи можливо «оснастити» верх / низ замість лише ліворуч / праворуч у Windows 7?


125

У Windows 7 я знаю, що ви можете зробити Windows+ Leftпоставити вікно в лівій половині екрана. Чи є функція, яка буде робити верхню і нижню частину?


@RockPaperLizard Ви також повинні пам’ятати, що Windows 7 справді стара і є єдиною ОС, яка має на сьогоднішній день функцію оснащення. Мені потрібно знайти сторонній сценарій типу "розширення", щоб це зробити, наприклад, на Mac. Також у Windows 10 є Snap для будь-якого напрямку, включаючи кути! Іншими словами, я думаю, що команда Windows дійсно намагається на стороні UX. Інтерфейс користувача іноді є тестом на особистість, але UX - це те, з чим Windows історично дуже хороший.
Джозеф Хансен

@Joseph Я фактично згоден, що MS мала багато успіхів на арені UX. Вони навіть охоче досліджували нову територію, хоча і не комерційно успішну, разом із Microsoft Бобом . На жаль, їхні успіхи омрачені багатьма невдалими невдачами, найбільш помітною є Windows 8 . Я не знаю, чи невдача цього проекту була їхньою командою UX чи відмовою керівництва слухати їх.
RockPaperLizard

Відповіді:


73

Ні. Єдині доступні варіанти оснащення:

  • ліва половина оснащення ( Windows+ left)
  • права половина оснащення ( Windows+ right)
  • оснащення висоти на весь екран ( Windows+ shift+ up)
  • максимальне оснащення ( Windows+ up)
  • "скасувати" ( Windows+ down)
  • перехід до наступного монітора / дисплея ( Windows+ shift+ ( leftабо right))

Редагувати: інші дивовижні комбінації, які вам можуть сподобатися:

  • мінімізувати всі ( Windows+ m)
  • мінімізувати всі, крім активного вікна ( Windows+ Home)
  • Aero peek (переглянути робочий стіл, усі Windows стають прозорими) ( Windows+ space)

Акуратно, я намагався зрозуміти, як утримати вертикальне положення фіксованим, але дозволити горизонтальний рух, не використовуючи прив’язку екрана вліво / вправо і не потрібно коригувати ширину вікна, а знімок по висоті на весь екран робить саме те, що я хотів.
JAB

4
О, щойно з’ясувалося, що подвійне клацання верхнього краю заголовка (тобто коли відображається вертикальна подвійна стрілка) також робить оснащення висоти екрана.
JAB

7
У Windows 10 тепер є інший варіант: Після оснащення вліво або вправо, ви можете натиснути upабо down, наприклад, для того, щоб прив’язати до верхнього лівого . Не те, що хотіла ОП, але може бути корисною для інших.
Андре

немає "оснащення по ширині екрана?" -_-
Шаян

Що стосується покровителя, це правильна відповідь для Windows 7. У Windows 10 є нові варіанти оснащення ...
Джозеф Хансен,

58

Для цього я використовую такі кроки:

  1. Windows+ D(щоб мінімізувати всі вікна)
  2. потім використовуйте мишу, щоб розмістити вікна, які я хочу скласти у загальному розташуванні на кожному моніторі (не переймайтеся їх розміром)
  3. потім клацніть правою кнопкою миші на панелі завдань та виберіть у контекстному меню пункт «Показати складені вікна», а потім відновіть будь-які інші вікна, які я хочу

Примітка. Ви повинні мінімізувати будь-які вікна, які ви не хочете складати. Це те, що призначений крок 1.


1
Це дійсно корисно. Я знаю це, оскільки виграв 98, але я ніколи фактично не використовував це у програмі win 7, тому що у програмі win XP та попередніх версіях ви можете вибрати кнопки панелі завдань, щоб вибрати, які вікна складати, але це більше не працює в Windows 7, тому коли я вибираю опція вона буде стекувати всі вікна на екрані. Блог технет: чи знаєте ви: показуйте вікна, складені, каскадно чи поруч
phuclv

Це корисно, але воно складе всі вікна у всіх моніторах.
Лев

Це все ще працює і для Windows 10.
snickers10m

@Leo - і в усіх комп’ютерах. Цікаво :)
J Bryan Ціна

23

Я написав невеликий сценарій AutoHotKey для того, щоб оснастити вікна вгорі та внизу, тому що я теж розчарувався з цього приводу. Ви можете завантажити його з мого веб-сайту: http://www.pixelchef.net/how-snap-windows-horizontally-windows-7

; Move window up (Windows + Shift + UP ... NOTE must maximize window first)
+#Up::
  WinGetPos,X,Y,W,H,A,,,
  WinMaximize
  WinGetPos,TX,TY,TW,TH,ahk_class Shell_TrayWnd,,,

  ; if this is greater than 1, we're on the secondary (right) monitor. This
  ;   means the center of the active window is a positive X coordinate
  if ( X + W/2 > 0 ) {
  SysGet, MonitorWorkArea, MonitorWorkArea, 1
  WinMove,A,,X,0 , , (MonitorWorkAreaBottom/2)
  }
  else {
  SysGet, MonitorWorkArea, MonitorWorkArea, 2
  WinMove,A,,X,0 , , (MonitorWorkAreaBottom/2)
  }
return

; Move window down (Windows + Shift + DOWN ... NOTE must maximize window first)
+#Down::
  WinGetPos,X,Y,W,H,A,,,
  WinMaximize
  WinGetPos,TX,TY,TW,TH,ahk_class Shell_TrayWnd,,,

  ; if this is greater than 1, we're on the secondary (right) monitor. This
  ;   means the center of the active window is a positive X coordinate
  if ( X + W/2 > 0 ) {
  SysGet, MonitorWorkArea, MonitorWorkArea, 1
  WinMove,A,,X,MonitorWorkAreaBottom/2 , , (MonitorWorkAreaBottom/2)
  }
  else {
  SysGet, MonitorWorkArea, MonitorWorkArea, 2
  WinMove,A,,X,MonitorWorkAreaBottom/2 , , (MonitorWorkAreaBottom/2)
  }
return

Він працює, але також відкриває стартовий екран у Windows 8.1. Як виправити це питання?
Габріель Хауцлок

2
Це саме те, що я сподівався знайти. Дякую! Я помітив, що команда не змінює ширину вікна. Будь-який спосіб автоматично перейти на весь екран, коли він оснащується вгору / вниз?
Алекс П. Міллер

1
Для мене це не працює у Windows 10. У мене є 3 монітори, два з яких перебувають у вертикальному режимі. Ви прямо говорите про дві робочі області, не впевнені, чи це причина. Також слід згадати, яке ключове комбо слід натиснути у цій відповіді людям, які не знають синтаксису AHK
Йоаким Седерберг

1
Він працює лише частково на моїх Windows 7 з одним горизонтальним та одним вертикальним монітором. Ідеально на горизонтальному моніторі, але на вертикальному він, здається, бере висоту від горизонтального.
hardmooth

21

WindowSpace надає цю функціональність. Щоб зробити те, що ви просите:

  • Перейдіть на вкладку "Переміщення та зміна розміру" в Settings
  • Для "Верхній край:" виберіть "Перейти до верхньої сторони"
  • Для "Нижнього краю:" виберіть "Перейти до нижньої сторони"

Знімок екрана:

скріншот


9
Чи потрібен ліцензійний ключ у розмірі 25 доларів США в якийсь момент?
ruffin

2
Я віддаю перевагу AquaSnap (безкоштовний або коштує 9 доларів за кілька моніторів): youtube.com/watch?v=bOVOEebpiWc Але, оскільки Windows 10 більше не потрібен, оскільки зараз найважливіші функції є частиною ОС.
mgutt

1
Зараз AquaSnap коштує 18 доларів (якщо ви використовуєте кілька моніторів), і він робить багато речей, ніж Win10, таких як оснащення верхньої та нижньої частин плиткою. Дуже круто.
Ізервуд

9

Наразі у мене немає машини Windows 7, але з моменту Windows 95 (або навіть раніше, можливо) з'явилася можливість плитка вікон горизонтально. Мінімізуйте все, крім двох вікон, які ви хочете переглянути вгорі та внизу, клацніть правою кнопкою миші на панелі завдань та виберіть "Плитка Windows" по горизонталі. Розмір кожного вікна буде займати половину вертикальної площі екрана. Це не корисно робити в одному вікні, і як сказано в іншій відповіді, для нього немає комбінації клавіш, але я вважаю, що це зручно іноді.

Виправлення: у Windows 7 це називається "Показати вікни з накопиченням"


8

Подібно до northben, я також написав сценарій AutoHotKey, хоч трохи інакше, тому я подумав, що заслуговує власної відповіді. Цей сценарій повинен працювати з будь-якою кількістю моніторів або орієнтацій моніторів.

Команди прив’язані до Windows+ Ctrl+ Upі Downзамість того, Shiftщоб не заважати існуючим Windows+ Shift+ Up.

Це працює аналогічно оснастці по повному екрану ( Windows+ Shift+ Up) тим, що вікно зберігає своє горизонтальне положення та ширину. Це легко змінити так, щоб він працював аналогічно лівій половині або правій половині оснащення ( Windows+ Leftабо Right), коментуючи ; WinMaximize, Aлінію. Якщо ви хочете зберегти поведінку за замовчуванням, але іноді використовувати наполовину поведінку оснащення, просто максимізуйте вікно перед тим, як оснаститись.

Працює з 64-бітною версією Windows 7 та AutoHotKey v1.1.14.03.

;-------------------------------------------------------------------;
; Returns the maximum or minimum value for any number of inputs
; i.e. Max(5,4,7,10) will return 10
;-------------------------------------------------------------------;
Min(params*)
{
  r := params[1]
  for index, param in params
    if (param < r)
      r := param
  return r
}
Max(params*)
{
  r := params[1]
  for index, param in params
    if (param > r)
      r := param
  return r
}

;-------------------------------------------------------------------;
; WindowsKey+Ctrl+Up / WindowsKey+Ctrl+Down
; Resizes window to half the screen height and moves it to the top
; or bottom of whichever screen has the largest overlap.
; By default, the window retains its horizontal (x) position and
; width.  To change this, uncomment the WinMaximize line.
;-------------------------------------------------------------------;
UpDownSnap(Direction)
{
  ; WinMaximize, A
  WinGetPos, x, y, w, h, a, , ,
  SysGet , Count, MonitorCount
  refArea := 0
  Loop, %count%
  {
    SysGet, m, MonitorWorkArea, %A_Index%
    xo := Max(0, Min(x + w, mRight) - Max(x, mLeft))
    yo := Max(0, Min(y + h, mBottom) - Max(y, mTop))
    area := xo * yo
    if (area > refArea)
    {
      monTop := mTop
      monBottom := mBottom
      refArea := area
    }
  }

  ; If the refArea is still equal to 0, the window does
  ; not overlap with any monitors. Wat?
  if (refArea > 0)
  {
    if (direction = 1)
      newY := monTop
    Else
      newY := (monBottom - monTop) / 2 + monTop
    WinMove , a, , x, newY, w, (monBottom - monTop) / 2
  }
}
^#Up::UpDownSnap(1)
^#Down::UpDownSnap(0)

1
Я б хотів, щоб це спрацювало. Я отримую The following variable name contains an illegal character: "params*". Наразі я використовую сценарій @ northben
біти

Дякую за цей сценарій Супер корисно. Я виявив, що він не завантажиться, поки я не видалю пробіл між іменем функції UpDownSnap та круглими дужками.
Джейсон Дюфаер

Можливо, це також була проблема бітів вище. Цікаво, що мій власний сценарій не має місця; Я не впевнений, як це потрапило. Я її зняв, дякую.
Джейсон Клемент

Добре працює в Windows 8.1 :-)
Габріель Hautclocq

Дякуємо @JasonClement за ваше рішення. Я вирішив помилку у вашому рішенні та опублікував як іншу відповідь.
Зее

7

Найкраща програма, яку я коли-небудь використовував, яка реалізує саме це + більше, - це WinSplit Revolution: http://winsplit-revolution.com/

Я дуже рекомендую його, оскільки він надзвичайно простий у використанні, і він навіть добре працює з декількома моніторами.

Демо-відео: http://winsplit-revolution.com/screenshots/videos-demos

Ця програма безкоштовна і випущена в розділі Creative Commons Attribution-Non Commercial-No Derivative Works 3.0.

Редагувати:

Здається, WinSplit більше недоступний, веб-сайт був перейнятий компанією Digital Creations AS, яка має власну версію цього типу програмного забезпечення, і більше не є безкоштовною


Програмне забезпечення все ще доступне з Softtonic і все ще творить чудеса в Windows 10, починаючи з оновлення 1809. en.softonic.com/download/winsplit-revolution/windows
JoeB

5

розміщуйте свої вікна приблизно так, як вам хочеться -> клацніть правою кнопкою миші на панелі завдань -> "показати вікни з накопиченням" -> прибуток!


4

Як тут запропонував Rain , PowerResizer добре працює. Не дуже настроюється - ви не можете змінити комбінації клавіш, але це принаймні з відкритим кодом. Як зазначає JoeB, ви можете натискати на них під час перетягування вікна: W для переміщення вгору та Z для переміщення вниз. A - рухатися ліворуч, S - рухатись праворуч. Або просто перетягніть вікно до краю. Натискання 1,2,3 та 4 під час перетягування зробить чверть на кут. Я задоволений цим, спробуйте.


Я щойно спробував WindowSpace; якщо ви не проти платити 25 доларів, це набагато краще рішення.
leetNightshade

1
Там документація! readme.txt у папці встановлення програмних файлів. Не кажучи вже про те, що я робив саме те, що я хотів, а це було вертикальне наполовину оснащення. 1/4 знімків - додатковий бонус!
страшник

3

Якщо у вас є відеокарта AMD, ви можете використовувати "Hydravision".

(1) Відкрийте Центр керування каталізатором (2) У розділі "Робочий стіл та дисплеї" натисніть "Детальніше ..." (3) У розділі "Гідравізія" натисніть "HydraGrid" (4) Поставте прапорець "Увімкнути HydraGrid" (5) Натисніть "Змінити HydraGrid "та покладіть лінії сітки там, де ви хочете, наприклад, наполовину портретного монітора (6) Застосувати

Тепер, коли ви працюєте з Windows, ви можете клацнути правою кнопкою миші на рядку заголовка і вибрати "Приєднати до сітки", потім перетягніть її з місця на місце, і воно затисне до сітки.

Я запускаю монітори 3x1 24 "в портретному режимі з цією установкою, і це найшвидший спосіб я зафіксував вікна до верхньої та нижньої половини кожного монітора.


1
Я помилився, встановивши Центр управління каталізатором, щоб спробувати Hydravision. Ця програма - свиня, і я шукаю інше рішення.
дата

2

Перевірте AquaSnap . Ви можете перетягнути мишу, як очікувалося, за допомогою Ctrl + Mouse змінити розмір двох плиткових вікон одночасно, окрім безлічі інших функцій.

Перегляньте дивовижні функції стикування

Ви також можете використовувати різноманітні гарячі клавіші. Ця програма переосмислює декілька стандартних налаштувань Windows, до яких ви вже звикли, окрім зміни Win + Up та Win + Down для дока вгорі / внизу.

Приклади гарячих клавіш

WindowSpace працює, але це не так вже й приємно, і ви можете зависнути на деякий час, коли натисніть кнопку застосувати. Порівняно з тим, що безкоштовна / пробна версія Aquasnap Pro - це дуже гладкий досвід.


1

Є багато варіантів, які надає Windows, включаючи СТАКУВАННЯ, СТОРІНКА СТРАНИ та КАСАДИНГ. Це робиться клацанням правою кнопкою миші на порожній області на панелі завдань (зазвичай в нижній частині екрана) та вибору. Так, це не клавіатурне скорочення, але воно досить близько.

Не довіряйте мені, дістаньте це прямо з уст коня, Microsoft тут .

Також на веб-сайті є безліч інших приємних ласощів - багато, що ви знаєте, кілька можуть бути новими. Сподіваюся, це допомагає.


1

Існує сторонній спосіб досягти цієї функціональності, але AFAIK:

  • Це вимагає деякого використання миші
  • Він працює лише для двох вікон.

Рецепт такий:

  1. Затисніть вікна поруч звичайним способом.
  2. Натисніть, Win+Downщоб одне з вікон зайняло чверть екрану
  3. Виберіть інше вікно і натисніть, Win+Upщоб інше вікно зайняло протилежну чверть екрана
  4. За допомогою миші візьміть за край вікна і змініть його розмір до краю екрана, таким чином, максимізуючи ширину кожного вікна, не змінюючи їх висоти.

Приємна порада, але це тонна робота, щоб виправити її щоразу.
11101101b

1

Виправлена ​​помилка у рішенні Джейсона Клемента. Коли вікно замикається вертикально, раніше воно також не займало б ширину монітора. Він би просто залишався на поточній ширині вікна, але би оснастився на 1/2 монітора вертикально. Завдяки цьому виправленню, вона піднімається до 50% вертикальної висоти вгору або вниз і 100% горизонтальної ширини монітора.

Також для тих, хто може не знати AHK ...

  1. Завантажте AutoHotKey
  2. Створіть текстовий файл у блокноті. Вставте в нього код. Збережіть його з правильним розширенням для AutoHotKey, наприклад, "VerticalSnap.ahk"
  3. Клацніть правою кнопкою миші на файл із Провідника, виберіть "Компілювати сценарій"
  4. Компіляція повинна створити файл "VerticalSnap.exe" у цьому каталозі.
  5. Відкрийте run.exe, введіть "shell: startup" і натисніть Enter.
  6. Нове вікно провідника має відкритись до папки запуску.
  7. Скопіюйте / вставте .exe файл у цю папку запуску.
  8. При наступному завантаженні цей сценарій повинен бути запущений. Ви можете використовувати CRTL + WINDOWS + UPARROW або + DOWNARROW, щоб переключитися на верхню частину нижньої половини монітора. Зауважте, що це вікно не повинно бути максимізовано для цього.

Сподіваюся, що це допомагає, і дякую Джейсону!

;-------------------------------------------------------------------;
; Returns the maximum or minimum value for any number of inputs
; i.e. Max(5,4,7,10) will return 10
;-------------------------------------------------------------------;
Min(params*)
{
  r := params[1]
  for index, param in params
    if (param < r)
      r := param
  return r
}
Max(params*)
{
  r := params[1]
  for index, param in params
    if (param > r)
      r := param
  return r
}

;-------------------------------------------------------------------;
; WindowsKey+Ctrl+Up / WindowsKey+Ctrl+Down
; Resizes window to half the screen height and moves it to the top
; or bottom of whichever screen has the largest overlap.
; By default, the window retains its horizontal (x) position and
; width.  To change this, uncomment the WinMaximize line.
;-------------------------------------------------------------------;
UpDownSnap(Direction)
{
  ; WinMaximize, A
  WinGetPos, x, y, w, h, a, , ,
  SysGet , Count, MonitorCount
  refArea := 0
  Loop, %count%
  {
    SysGet, m, MonitorWorkArea, %A_Index%
    xo := Max(0, Min(x + w, mRight) - Max(x, mLeft))
    yo := Max(0, Min(y + h, mBottom) - Max(y, mTop))
    area := xo * yo
    if (area > refArea)
    {
      monTop := mTop
      monBottom := mBottom
      monLeft := mLeft
      monRight := mRight
      refArea := area
    }
  }

  ; If the refArea is still equal to 0, the window does
  ; not overlap with any monitors. Wat?
  if (refArea > 0)
  {
    if (direction = 1)
      newY := monTop
    Else
      newY := (monBottom - monTop) / 2 + monTop
    WinMove , a, , monLeft, newY, (monRight - monLeft), (monBottom - monTop) / 2
  }
}
^#Up::UpDownSnap(1)
^#Down::UpDownSnap(0)

0

Я вважаю корисним варіант підрозділити монітори на віртуальні половинки за допомогою DisplayFusion . Ви налаштуєте це, виконавши наступне:

  • Клацніть правою кнопкою миші значок DisplayFusion, розташований у вашій області сповіщень, і перейдіть до Monitor Configuration.
  • Виберіть монітор, який потрібно налаштувати.
  • Додайте vertical splitмонітор. (Ви можете пограти з цим і розділити монітори ще більше.)

Якщо це ввімкнено, ви повинні мати можливість використовувати свої клавіші Windows+ Arrowдля навігації у вашому вікні, щоб отримати максимум у цій новій вертикально розділеній області монітора. Я збираюся запустити два монітори 1920x1200 в портретному режимі, коли мої 30 "ввійдуть, і вертикально зафіксувати вікна стане необхідністю.


0

Мені потрібно було неодноразово розділяти два веб-переглядача Windows вгорі та внизу в Windows 10 з налаштуваннями на декількох моніторах, при цьому багато інших вікон вже відкриті. Могла це зробити вручну, але хотіла кращого рішення.

Я знайшов розширення Chrome "Розмір вкладки - Розбиття макетів екрана", що зробило це дуже легким для мене.

Просто відкрийте нове вікно Chrome, натисніть піктограму розширення Tab Resize, виберіть опцію 2x1. Приємно і просто зараз.


1
Схоже, що людина, яка поставила запитання, хотіла рішення, яке працює для всіх програм, а не лише для Chrome. У вас є щось, що робить це?
Бен N

0

Якщо ви використовуєте монітор Dell, ви можете встановити диспетчер дисплеїв Dell, який має варіанти поділу дисплея на сітку.

Потім ви можете перетягнути вікно в комірку, утримуючи клавішу Shift.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.