web-dev-qa-db-ja.com

Windows 7で上下左右を「スナップ」させることはできますか?

Windows 7では、私はあなたができることを知っています Windows + Left 画面の左半分にウィンドウを配置します。上下に機能する機能はありますか?

121
Abe Miessler

利用可能な唯一のスナップオプションは次のとおりです。

  • 左半分スナップ(Windows + left
  • 右半分スナップ(Windows + right
  • フルスクリーン高さスナップ(Windows + shift + up
  • 最大スナップ(Windows + up
  • 「スナップ解除」(Windows + down
  • 次のモニター/ディスプレイにスナップWindows + shift +(left または right))

編集:あなたが好むかもしれない他の素晴らしい組み合わせ:

  • すべて最小化(Windows + m
  • アクティブウィンドウ以外のすべてを最小化するWindows + Home
  • エアロピーク(デスクトップの表示、すべてのウィンドウが透明になる)(Windows + space
72
Joseph Hansen

これを実現するには、次の手順に従います。

  1. Windows + D (すべてのウィンドウを最小化するため)
  2. それから私のマウスを使って私が積み重ねたいウィンドウを各モニタの一般的な配置に配置する(それらをリサイズすることを気にしないでください)
  3. 次に、タスクバーを右クリックしてコンテキストメニューから[ウィンドウを重ねて表示]を選択し、必要な他のウィンドウを復元します。

注意:積み重ねたくないウィンドウは最小化する必要があります。これがステップ1が行うことを意図したものです。

54
Nathaniel

私もこれに苛立ちを感じていたので、私はウィンドウを上下にスナップするための小さな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
northben

WindowSpace はこの機能を提供します。あなたが求めていることをするために:

  • Settingsの "移動とサイズ変更"タブに行きます
  • 「上端:」の場合は、「上端に移動」を選択します。
  • 「下端:」の場合は、「下に移動」を選択します。

スクリーンショット

screenshot

20
Russell Davis

私は目の前にはWindows 7マシンを持っていませんが、Windows 95以降(またはおそらく以前も)、ウィンドウを横に並べて表示するオプションがありました。上下に表示する2つのウィンドウ以外のすべてを最小化し、タスクバーを右クリックして[ウィンドウを左右に並べて表示]を選択します。各ウィンドウのサイズは、垂直画面領域の半分になります。これは単一のウィンドウにするのには役に立ちません。また別の回答で述べたように、キーボードショートカットはありませんが、便利なことがあります。

修正:Windows 7では、これは「Show windows stacked」と呼ばれます。

9
rmart

Northbenと同じように、私はAutoHotKeyスクリプトも書きました。このスクリプトは、任意の数のモニターまたはモニターの向きで機能します。

コマンドは Windows + Ctrl + Up そして Down の代わりに Shift 既存のものと干渉しないように Windows + Shift + Up

これはフルスクリーンの高さスナップ(Windows + Shift + Upウィンドウの水平方向の位置と幅はそのままですこれは、左半分または右半分のスナップと同様に機能するように簡単に変更できます。Windows + Left または Right; 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)
8
Jason Clement

私が今までに使った中でこれ以上のものを達成するのに一番良いプログラムはWinSplit Revolutionです。 http://winsplit-revolution.com/

使い方は非常に簡単で、複数のモニタでもうまく動作するので、私はそれを強くお勧めします。

デモビデオ: http://winsplit-revolution.com/screenshots/videos-demos

このアプリケーションはフリーウェアであり、クリエイティブコモンズ表示 - 非営利 - 改変禁止作品3.0の下でリリースされています。

編集:

WinSplitはもう利用できないようです、WebはDigital Creations ASによって引き継がれました。そして、それはこのタイプのソフトウェアの彼ら自身のバージョンを持っています、そして もはや無料です

7
Marcin

あなたのウィンドウをちょうどあなたが望むように配置する - >タスクバーを右クリック - >「スタックされたウィンドウを表示」 - >利益!

5
clevboy

Rainがここ で示唆したようにPowerResizer はうまく機能します。あまりカスタマイズできません - キーボードショートカットは変更できませんが、少なくともオープンソースです。 JoeBが指摘しているように、ウィンドウをドラッグしながらこれらを押すことができます。Wは上に移動し、Zは下に移動するためのものです。 Aは左に移動すること、Sは右に移動することです。またはウィンドウを端までドラッグするだけです。ドラッグ中に1、2、3、4を押すと、4分の1の角でスナップします。満足しています、試してみてください。

4
leetNightshade

AMDグラフィックカードをお持ちの場合は、「Hydravision」を使用できます。

(1)Catalyst Control Centerを開きます。(2)[デスクトップとディスプレイ]の下の[詳細]をクリックします。(3)[Hydravision]の下の[HydraGrid]をクリックします。 「グリッド線を好きな場所に配置します。ポートレートモニターの途中まで(6)適用

ウィンドウを操作しているときは、タイトルバーを右クリックして[グリッドに添付]を選択し、それを場所から場所にドラッグするとグリッドにスナップできます。

私はこの設定で縦型モードで3 x 1 24インチモニターを動かしています、そしてそれは私が各々のモニターの上半分と下半分に窓をはめ込むことを見つけた最も速い方法です。

3
Matt

AquaSnap を調べてください。あなたは期待どおりにマウスをドラッグすることができます、他の機能のホストのほかに、同時に2つのタイル張りのウィンドウのサイズを変更するためにCtrl + Mouseを使用します。

See awesome docking features

また、さまざまなホットキーを使用することもできます。このプログラムは、dockのWin + UpとWin + Downを上/下に変更することに加えて、すでに使用しているいくつかのWindowsのデフォルト設定をオーバーライドします。

Hotkey examples

WindowSpaceは動作するが、ニースほどではなく、applyを押すとしばらくハングアップする可能性がある。同様に、Aquasnap Proの無料/試用版は非常にスムーズな体験です。

2
leetNightshade

この機能を実現するには、サードパーティの自由な方法がありますが、残念ながら:

  • マウスを使う必要があります
  • これは2つのウィンドウに対してのみ機能します。

レシピは:

  1. 通常の方法で、ウィンドウを並べてスナップします。
  2. Win+Downを押すと、ウィンドウの1つが画面の1/4になります。
  3. 他のウィンドウを選択してWin+Upを押すと、他のウィンドウが画面の反対側の四分の一になります。
  4. マウスを使ってウィンドウの端をつかみ、画面の端に合わせてサイズを変更すると、高さを変えずに各ウィンドウの幅を最大化できます。
1
Leo

STACKING、SIDE BY SIDE、CASCADINGなど、Windowsにはたくさんのオプションがあります。これらは、タスクバー上の空いている領域(通常は画面下部)を右クリックして選択することによって行われます。ええ、それはキーボードショートカットではありませんが、かなり近いです。

私を信用しないでください、馬の口から直接出してください、Microsoft ここ

また、このウェブサイトには他にもたくさんのNiceのヒントがあります - あなたが知っていることの多くは新しいものかもしれません。お役に立てれば。

1
Scott Biggs

Jason Clementのソリューションのバグを修正しました。ウィンドウが垂直方向にスナップすると、以前はモニターの幅も占有されませんでした。それはちょうど現在のウィンドウ幅にとどまるでしょうが、垂直に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を使って、モニタの下半分の上にスナップすることができます。これが機能するためにウィンドウが最大化されてはいけないことに注意してください。

お役に立てば幸いです。そしてJasonに感謝します。

;-------------------------------------------------------------------;
; 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)
1
Zee

Dellモニタを使用している場合は、Dell Display Managerをインストールできます。これには、ディスプレイをグリッドに分割するオプションがあります。

次に、Shiftキーを押しながらウィンドウをセルにドラッグします。

0
Michael Zheng

私は、Windows 10の2つのブラウザウィンドウをマルチモニタ設定で繰り返し開く必要がありました。他の多くのウィンドウはすでに開いています。手動で行うこともできますが、もっと良い解決策が必要でした。

私はChromeの拡張機能 "タブのサイズ変更 - 分割画面レイアウト"の拡張機能が私にとっては非常に簡単にできることを発見した。

新しいChromeウィンドウを開き、Tab Resize extensionアイコンをクリックし、2x1オプションを選択します。すてきで簡単。

0
Jeff

DisplayFusion を使用して、モニタを仮想的な半分に分割することが便利です。次のようにしてこれを設定します。

  • 通知領域にあるDisplayFusionアイコンを右クリックしてMonitor Configurationに移動します。
  • 設定したいモニタを選択します。
  • モニターにvertical splitを追加してください。 (これを試して、モニターをさらに分割することもできます。)

これを有効にすると、あなたは自分の Windows + Arrow ウィンドウをナビゲートしてモニタの縦方向に分割された領域に最大化するためのキー。 30インチのカメラが入ったら、1920 x 1200の2台のモニターをポートレートモードで動かします。

0
Jmac