複数のモニター – 画面外で開いているウィンドウを移動するには?

multiple-monitors window-manager windows

私はデュアルモニターの設定をしていますが、最近、位置の設定を弄ってみました。残念なことに、これで画面の表示範囲外になってしまいました

特定のウィンドウを強制的に閲覧可能な領域にする方法はありますか?

  286  None  2009-10-10


ベストアンサー

Windows 7以降のユーザー向けです。Windows Key+Shift+またはは、選択したウィンドウをその方向のモニタに移動させます

212  andho  2009-10-15


私はこの方法を使っています

  • Alt+Tabで画面外のアプリケーションに切り替えます
  • Alt+SPACEを押すとシステムメニューが表示されます(画面外なので表示されません)
  • Rを押して「復元」メニューを選択し、ウィンドウが最大化されていないことを確認します(最大化されている場合は移動できません)
  • Alt+SPACEをもう一度押し、Mを押して「移動」メニューを選択します
  • 矢印キーのいずれかを押して、動きを開始します
  • 今ちょうどあなたがしたい場所にウィンドウを配置するためにマウスを使用しています

英語版以外のWindowsを使用している場合は、「R」と「M」メニューの選択肢が異なる可能性があります

451  Terje Mikal  2009-10-10


Windows 10では、カーソルキーでウィンドウを移動するトリックを使うには、タスクバーからコンテキストメニューを開いたときにShiftキーを押す必要があります

enter image description here

How To Geekからの情報です

20  Brad Patton  2015-11-24


タスクバーのプログラムのボタンを右クリックして、「移動」をクリックします。これで、キーボードの矢印ボタンを使ってウィンドウを見やすい位置に移動することができます。時々ウィンドウがモニターの端で「動かなくなる」ことがありますが、少し手こずる必要があります。また、マウスを使ってみることもできますが、まだウィンドウを見ることができない場合は、キーボードの方が少し信頼性が高いです。)

13  Emthigious  2009-10-10


タスクバーがある前は、Alt+Spaceでウィンドウメニューを表示し、Mで移動機能を使ってこの問題を解決していました。その後、矢印キーでウィンドウを画面上に戻すことができました

10  Greg Hewgill  2009-10-10


もう一つの手っ取り早い方法は、タスクバーをクリックしてCascade Windowsを選択することです

9  T. Kaltnekar  2009-10-10


私はこの問題に遭遇しましたが、何も私のために働いてくれませんでした。そこで私はタスクマネージャーに入り、画面外にあるプログラムを右クリックしました。スイッチを切り替えてもうまくいかず、フロントに持ってくることもできませんでした。注意すべきは、これは静的なウィンドウだったので、タスクバーから最大化することはできませんでした。しかし、タスクマネージャーから最大化することができます。そこからは、ウィンドウで必要なことが何でもできるようになります。)

6  Leo  2015-01-09


編集:コメントにあるように廃止されました

将来的にこの問題を素早く解決し、デュアルスクリーンの上にアプリケーションを配置するには、Winsplit Revolutionをお勧めします。この問題を解決するには、Ctrl-Altキーとnum-padキーを押すだけで、ウィンドウを正確に好きな位置に戻すことができます

5  Andy  2009-10-10


私は Shove-it と呼ばれる気の利いた小さなツールを使っています。これは、ウィンドウが画面の端から外れているかどうかを簡単にチェックして、それを再び画面に押し込むものです。それは古代のソフトウェア(とホームページはそれを証明する)だが、すべてのWindowsのバージョンで動作します

3  Torben Gundtofte-Bruun  2009-10-10


Windows 7 の Git GUI は Tk をベースにしているので、Windows 上では時々奇妙な方法でグリッチする傾向があります。Alt-Space を押して move コマンドで移動して元の位置に戻そうとしましたが、動かなくなってしまいました。最大化すると元に戻りましたが、ウィンドウモードに戻すとまた消えてしまいました

何をしたかというと、最大化してタイトルバーをつかみ、画面の横にドラッグして、Aero Snapで画面サイズを半分にしてウィンドウモードにしました。その後、画面の横から離れたところにドラッグして、コントロールを取り戻しました

3  unused  2011-04-22


私はwinampで同じ問題を抱えていました。私がこれまでに見つけた唯一の(不満足な)解決策は、画面の解像度を別のものに変更して戻すことです

Thomas

1  Thomas  2010-05-28


NIRSOFTのWinListerを使うといいかもしれません。クラシックテーマを使用している場合、Windows 7では「移動」の方法が使えないことに気付きましたし、他にも様々な方法が失敗したので、私の「IF ALL OTHER FILES」の代替案を掲載しておきます

  1. WinListerアプリケーションこちらをダウンロードしてください

  2. WinListerを管理者として実行し、画面上で移動したいウィンドウを選択してください。管理者として実行していない場合、アプリケーションはあなたのためにウィンドウを移動する機能を提供しません

  3. 右クリックして「選択したWindowsを中央に配置」を選択すれば完了です

スクリーンショット こちら です

1  user199343  2013-02-14


遠隔地に複数の画面があるにもかかわらず、自分の場所からアクセスできない場合があります。画面に表示されていないビューはロックアウトされているため、キーコマンドは機能しません

この場合、アプリケーションの追加インスタンスを開くことができるのであれば、そうしてください。最初のいくつかのインスタンスは、ほぼ確実にタスクバーに、さらに幻のウィンドウとして表示されます。これを続けてください。やがて、それらのインスタンスがプライマリビューに表示されるようになります。その後、タスクバーのアイコンを使って右クリックして、オフスクリーンのインスタンスを閉じます。オフスクリーンのインスタンスが開かなくなったら、プライマリ画面上のインスタンスを閉じます。次にそのアプリケーションを開いたときには、「オフカメラ」ではなく、プライマリ画面に表示されます

1  Greg Mayer  2016-10-21


ウィンドウを選択します(例: Alt+Tab)。その後、Alt+F7を押したまま、矢印キーでウィンドウを元の位置に戻します。これで完了です

時々、隠れたウィンドウがどこにあるのかを盲目的に知ることが難しいことがあります (そのため、どのようにウィンドウを画面に向かって移動させるかを知ることができます)。ウィンドウを選択している間のアニメーションがあると便利かもしれません。私の設定(ラップトップの上にセカンドスクリーンを使うことがあります)では、画面外に表示されるウィンドウは通常下にあります。そのため、Alt+F7+Upを押したままにすると、それらのウィンドウが表示されます

1  Georg Jung  2014-02-18


PowerShellに慣れている人は、これを試してみてください

  • 以下のコードをコピーして PowerShell ISE セッションに貼り付けてください
  • Hit Run
  • ALT+TAB / 何かを押して、オフスクリーンウィンドウをアクティブにします
  • しばらく待ちます(スクリプトのRUNを押してから5秒)
  • これでウィンドウが表示されるはずです

ウィンドウがメインウィンドウの場合は、画面左上に移動します

ウィンドウが他のプログラムの子ウィンドウである場合、そのウィンドウの左上隅は親ウィンドウの左上隅に合わせて配置されます

Add-Type @"
using System;
using System.Runtime.InteropServices;

// https://msdn.microsoft.com/en-us/library/windows/desktop/dd162897(v=vs.85).aspx
public struct RECT
{
public long left;
public long top;
public long right;
public long bottom;
}

public class User32WinApi
{

// https://msdn.microsoft.com/en-us/library/windows/desktop/ms633505(v=vs.85).aspx
/*
Gets the handle of the in-focus window
NB: In some scenarios this can be NULL; so code needed to handle such an event
*/
[DllImport("user32.dll")]
public static extern IntPtr GetForegroundWindow();

// https://msdn.microsoft.com/en-us/library/windows/desktop/ms633503(v=vs.85).aspx
/*
top & left are always 0 (i.e. since the rectangle is relative to the window itself)
bottom & right equal the windows hieght and width, respectively.
*/
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool GetClientRect(IntPtr hWnd, out RECT lpRect);

// https://msdn.microsoft.com/en-us/library/windows/desktop/ms633534(v=vs.85).aspx
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool MoveWindow(IntPtr hWnd, int X, int Y, int nWidth, int nHeight, bool bRepaint);

}

"@
$repaint = $true
$windowSize = New-Object RECT

"Quick; get the window you're after in focus; you have 5 seconds..."
Start-Sleep -Seconds 5 #allow 5 seconds for the user to get the window they're after in focus (e.g. using ALT+TAB / whatever)
$activeWindow = [User32WinApi]::GetForegroundWindow()
if ($activeWindow) {
if([User32WinApi]::GetClientRect($activeWindow, [ref]$windowSize)) {
if ([User32WinApi]::MoveWindow($activeWindow, 0, 0, $windowSize.right, $windowSize.bottom, $repaint)) {
"Window moved successfully (hope you agree!)"
} else {
Write-Warning "Failed to move the active window"
}
} else {
Write-Warning "Failed to get size of the active window"
}
} else {
Write-Warning "No active window found"
}

オリジナルコードはこちら。https://gist.githubusercontent.com/JohnLBevan/1593bbb860c2d2af436a1c9414e8adfa/

1  JohnLBevan  2017-06-20


タスクバーにカーソルを置いて、右クリックして「ウィンドウを横に並べて表示」を選択します

0  ravi21  2013-11-16


また、UltraMon(ノンフリー、Windows、GUI)を使って、キーボードショートカットを設定して、ウィンドウを次のモニタや前のモニタに移動させることもできます

enter image description here

0  Franck Dernoncourt  2017-06-28


Windows上のショートカットでウィンドウを下/上のモニタに移動からTymric

AHKのスクリプトを書きました

Usage:

Win + Alt + Arrow:アクティブなウィンドウを矢印の方向に移動します。あなたの設定でモニタ2から上に行こうとしたり、モニタ3から右に行こうとすると、ウィンドウが画面外に移動してしまう可能性があるので注意してください。今後、更新していきたいと思います

Win + Alt + Number:アクティブウィンドウを指定されたモニタ番号に移動します

#Persistent

SysGet, MonitorCount, MonitorCount


#!Up::
GoSub CalculateDisplacement
WinMove, A, , %xPos%, %displaceYneg%
return
#!Down::
GoSub CalculateDisplacement
WinMove, A, , %xPos%, %displaceYpos%
return
#!Left::
GoSub CalculateDisplacement
WinMove, A, , %displaceXneg%, %yPos%
return
#!Right::
GoSub CalculateDisplacement
WinMove, A, , %displaceXpos%, %yPos%
return

#!1::
GoSub CalculateDisplacement
WinMove, A, , %xPosOn1%, %yPosOn1%
return

#!2::
if (MonitorCount > 1) {
GoSub CalculateDisplacement
WinMove, A, , %xPosOn2%, %yPosOn2%
}
return

#!3::
if (MonitorCount > 2) {
GoSub CalculateDisplacement
WinMove, A, , %xPosOn3%, %yPosOn3%
}
return

#!4::
if (MonitorCount > 3) {
GoSub CalculateDisplacement
WinMove, A, , %xPosOn4%, %yPosOn4%
}
return

#!5::
if (MonitorCount > 4) {
GoSub CalculateDisplacement
WinMove, A, , %xPosOn5%, %yPosOn5%
}
return

#!6::
if (MonitorCount > 5) {
GoSub CalculateDisplacement
WinMove, A, , %xPosOn6%, %yPosOn6%
}
return

#!7::
if (MonitorCount > 6) {
GoSub CalculateDisplacement
WinMove, A, , %xPosOn7%, %yPosOn7%
}
return

#!8::
if (MonitorCount > 7) {
GoSub CalculateDisplacement
WinMove, A, , %xPosOn8%, %yPosOn8%
}
return

#!9::
if (MonitorCount > 8) {
GoSub CalculateDisplacement
WinMove, A, , %xPosOn9%, %yPosOn9%
}
return


CalculateDisplacement:
WinGetPos, xPos, yPos, , , A
Loop, %MonitorCount% {
SysGet, MonitorDimension, Monitor, %A_Index%
if (xPos > MonitorDimensionLeft and xPos < MonitorDimensionRight and yPos < MonitorDimensionBottom and yPos > MonitorDimensionTop) {
currentMonitor = %A_Index%
}
}
SysGet, thisMonitor, Monitor, %currentMonitor%
displaceXpos := xPos + thisMonitorRight - thisMonitorLeft
displaceYpos := yPos + thisMonitorTop - thisMonitorBottom
displaceXneg := xPos - thisMonitorRight + thisMonitorLeft
displaceYneg := yPos - thisMonitorTop + thisMonitorBottom
Loop, %MonitorCount% {
SysGet, nextMonitor, Monitor, %A_Index%
xPosOn%A_Index% := xPos - thisMonitorLeft + nextMonitorLeft
yPosOn%A_Index% := yPos - thisMonitorTop + nextMonitorTop
}
return

0  Franck Dernoncourt  2017-06-28


Borderline というツールを書きました。必要なときに実行しなければなりませんが(キーボードショートカットを割り当てるか、スタートメニューに入れておくと最適に動作します)、バックグラウンドで常に実行されているわけではありません

0  jamesdlin  2018-04-02


これで解決することもあります

  • WinKey + Pをクリックします
  • Extendまたは別のオプションを選択すると、すべてのウィンドウがカスケード表示されます。目的のウィンドウをプライマリ画面に移動します

0  T.Todua  2019-02-24


画面外で開くウィンドウを移動させるには?

一時的に画面の解像度を下げ、マウスでトップバーを掴んで中央に移動します。システムが自動的に解像度を復元するのを待ちます

  1. デスクトップ→画面解像度
  2. お使いのモニターを選択し、現在の設定からいくつか低い解像度に変更します
  3. システムは新しい解像度を表示し、30秒後に維持するか元に戻すかを尋ねます
  4. 30秒以内に、ミス・ロケーション・ウィンドウを掴んで中央に移動します
  5. 自動的に元に戻るようにタイムアウトを待ちます

Window moved…

-1  Russ  2014-08-27


タイトルとURLをコピーしました