題 可以在Windows 7中“捕捉”頂部/底部而不是左/右?


在Windows 7中,我知道你可以做到 視窗 + 剩下 在屏幕的左半部分放一個窗口。是否有一個功能可以做到頂部和底部?


107
2018-05-18 17:10


起源


@RockPaperLizard你還必須記住,Windows 7真的很老,是迄今為止唯一擁有本機快照功能的操作系統。例如,我必須在Mac上找到第三方“擴展”類型的腳本來執行此操作。此外,Windows 10的每個方向都有Snap,包括角落!換句話說,我認為Windows團隊確實嘗試過UX方面。用戶界面有時候是個性測試,但用戶體驗是Windows歷史上相當擅長的。 - Joseph Hansen
@Joseph我實際上同意MS在UX領域取得了很多成功。他們甚至願意探索新領域,雖然沒有商業上的成功 微軟鮑勃。不幸的是,他們的成功受到許多嚴重失敗的影響,最值得注意的是失敗 Windows 8。我不知道該項目的失敗是他們的UX團隊還是管理層拒絕聽取他們的意見。 - RockPaperLizard


答案:


不是。唯一可用的快照選項包括:

  • 左半扣(視窗 + 剩下
  • 右半扣(視窗 +
  • 全屏高度拍(視窗 + 轉移 + 向上
  • 最大化的快照(視窗 + 向上
  • “un-snap”(視窗 +
  • 按下到下一個監視器/顯示器(視窗 + 轉移 +(剩下 要么 ))

編輯:您可能喜歡的其他令人敬畏的組合:

  • 最小化(視窗 +
  • 盡量減少所有活動窗口(視窗 +
  • Aero peek(查看桌面,所有Windows都變得透明)(視窗 + 空間

69
2018-05-18 17:14



整潔,我試圖弄清楚如何保持垂直位置固定但允許水平移動而不使用左/右屏幕捕捉和必須重新調整窗口寬度,全屏高度快照完全符合我的要求。 - JAB
哦,剛剛發現雙擊標題欄的上邊緣(即顯示垂直雙頭箭頭時)也會屏幕高度突然顯示。 - JAB
在Windows 10中,現在有另一個選項:向左或向右捕捉後,您可以按 up 要么 down,例如抓住了 左上方。不是OP想要的,但也許對其他人有幫助。 - Andre


我使用以下步驟來完成此任務:

  1. 視窗 + d (盡量減少所有窗口)
  2. 然後用我的鼠標放置我想要堆疊的窗口 每個顯示器上的一般放置(不要費心調整它們)
  3. 然後右鍵單擊任務欄並選擇“顯示窗口堆疊” 從上下文菜單中然後恢復我想要的任何其他窗口

注意:您必須最小化任何不想堆疊的窗口。這是第1步的目的。


49
2018-06-21 18:28



這非常有用。我知道這是因為贏了98但是我從來沒有在win 7中實際使用它,因為在win XP和之前的版本中你可以選擇任務欄按鈕來選擇要堆疊的窗口但是在Windows 7中不再起作用所以當我選擇時選項它會將所有窗口堆疊在屏幕上。 博客technet:你知道嗎:顯示窗口堆疊,級聯或併排 - phuclv
這很有用,但它會在所有監視器中堆疊所有窗口。 - Leo
這仍然適用於Windows 10。 - snickers10m
@Leo - 以及所有桌面。有趣:) - J Bryan Price


我寫了一個小的AutoHotKey腳本來捕捉窗戶頂部和底部,因為我也對此感到沮喪。你可以從我的網站下載它: http://www.pixelchef.net/how-snap-windows-horizo​​ntally-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

23
2018-05-15 03:58



它可以工作,但也打開Windows 8.1中的開始屏幕。如何解決這個問題? - Gabriel Hautclocq
這正是我希望找到的。謝謝!我注意到命令不會改變窗口的寬度。什麼方法可以自動進入全屏寬度,當它快速上/下? - Alex P. Miller
這在Windows 10上對我不起作用。我有3個顯示器,其中2個處於垂直模式。您明確地談論了2個工作區域,不確定這是否是原因。另外你應該提一下你應該在那個不知道AHK語法的人的答案中按什麼鍵組合 - Joakim Söderberg
它僅部分在我的Windows 7上工作,有一個水平和一個垂直監視器。完美地放在水平顯示器上,但在垂直方向上,它似乎從水平顯示器的高度。 - hardmooth


WindowSpace 提供此功能。做你想要的:

  • 轉到“移動和調整大小”選項卡 Settings
  • 對於“上邊緣:”,選擇“移至頂部”
  • 對於“底邊:”,選擇“移至底部”

截圖:

screenshot


20
2018-05-19 09:20



是否需要25美元的許可證密鑰? - ruffin
我更喜歡AquaSnap(免費或多顯示器9美元): youtube.com/watch?v=bOVOEebpiWc 但是由於Windows 10不再需要,因為最重要的功能現在是操作系統的一部分。 - mgutt
AquaSnap現在是18美元(如果你使用多個顯示器),它做了許多Win10沒有的東西,比如頂部/底部按扣和平鋪。很酷。 - isherwood


我目前沒有在我面前的Windows 7機器,但自從Windows 95(甚至可能在之前)之後,就可以選擇水平平鋪窗口。最小化除了要查看頂部和底部的兩個窗口之外的所有內容,右鍵單擊任務欄,然後選擇“水平平鋪Windows”。它會調整每個窗口的大小,佔據垂直屏幕區域的一半。這對於單個窗口沒有用,並且如另一個答案所述,它沒有鍵盤快捷鍵,但我發現它有時候很方便。

更正:在Windows 7上,這稱為“顯示窗口堆疊”


9
2018-05-18 17:24





我用過的最好的程序就是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接管,它擁有自己的此類軟件版本,並且 不再是免費的


7
2018-06-21 19:09





與northben類似,我也寫了一個AutoHotKey腳本,雖然有點不同所以我認為它應該得到自己的答案。此腳本應適用於任意數量的監視器或監視器方向。

命令綁定到 視窗 + 按Ctrl + 向上 和  代替 轉移 以免干擾現有的 視窗 + 轉移 + 向上

這類似於全屏高度快照(視窗 + 轉移 + 向上)因為窗戶保持其水平位置和寬度。這可以很容易地改變為類似於左半部分或右半部分的工作(視窗 + 剩下 要么 通過取消註釋 ; WinMaximize, A 線。如果要保持默認行為,但有時使用半捕捉行為,只需在捕捉之前最大化窗口。

適用於Windows 7 64位和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)

7
2018-03-21 21:32



我希望這會奏效。我正進入(狀態 The following variable name contains an illegal character: "params*"。現在我正在使用@ northben的腳本 - bits
謝謝你的腳本。超級實用。我發現在我刪除UpDownSnap函數名和括號之間的空格之前它不會加載。 - Jason Dufair
也許這也是上面的問題。有趣的是,我自己的腳本沒有空間;我不確定它是怎麼到達那裡的。我刪除了它,謝謝。 - Jason Clement
在Windows 8.1中運行良好:-) - Gabriel Hautclocq
感謝@JasonClement為您的解決方案。我在您的解決方案中修復了一個錯誤,並將其作為另一個答 - Zee


把你的窗戶放在你喜歡的地方 - >右鍵單擊任務欄 - >“顯示窗口堆疊” - >獲利!


5
2018-06-25 14:02