外部モニターを再接続するときにウィンドウを元の画面に戻すにはどうすればよいですか?


17

これを想像してください...

  1. 外部モニターを接続します。
  2. 各モニターでいくつかのアプリを起動します。
  3. 外付けモニターを取り外します。
    • すべてのアプリがプライマリモニターを移動するため、すべて良好です。
  4. 外部モニターを再接続します。
    • アプリはプライマリモニターにとどまりますが、前に使用していた外部モニターに戻ると非常に便利です。

Windows 10を使用します。アプリを外部モニターに自動的に戻すためのソリューションまたは回避策はありますか?


6
あなたはここで見てすることをお勧めします- - superuser.com/q/240362/302907
Anaksunaman

回答:


1

過去に、私はこれにWindowpadと呼ばれるAutohotkeyツールを使用しました。どうやら、これはWindowPadXと呼ばれる新しい拡張バージョンに置き換えられたようです。下にスクロールしてreadmeを確認します。完全なドキュメントはこちらです。

これは、複数のモニターで私にとって非常に重要でした。2つのウィンドウを簡単に切り替えることができるのが好きでした。

次のホットキーを設定できます(readmeから)。

ホットキーで設定可能なアクション

ウィンドウアクション

マルチモニター

WPXA_MoveWindowToMonitor:画面間でウィンドウを移動し、相対的な位置とサイズを維持します。

WPXA_MinimizeWindowsOnMonitor:指定された画面上のすべてのウィンドウを最小化します

WPXA_GatherWindowsOnMonitor:特定の画面でウィンドウを「収集」します。

WPXA_FillVirtualScreen:ウィンドウを展開して、仮想画面(すべてのモニター)を埋めます。

全般

WPXA_MaximizeToggle:ウィンドウを最大化または復元します。

WPXA_TopToggle:指定されたウィンドウの「AlwaysOnTop」をトグルします

WPXA_RollToggle:指定されたウィンドウの「ロール/アンロール」を切り替えます。WPXA_Move:「パッド」の概念に基づいてウィンドウを移動およびサイズ変更します。

WPXA_TileLast2Windows:アクティブで最後のウィンドウのタイル

マルチモニターマウスアクション

WPXA_MoveMouseToMonitor:マウスを特定のモニターの中央に移動します

WPXA_ClipCursorToCurrentMonitorToggle:クリッピングマウスを現在のモニターに切り替えます

WPXA_ClipCursorToMonitor:マウスを特定のモニターにクリップ(制限)します

一般的なマウス操作

WPXA_MouseLocator:マウスを簡単に見つける

あなたは「素晴らしいAutoHotkeyをライブラリ、ライブラリーのディストリビューション、スクリプト、ツールやリソースのAキュレーション一覧」の中でそれと他のツールを見つけることができるここに


この機能のリストは、ウィンドウを移動できることを示唆していますが、その位置を特定の状態に復元できますか?「収集」および「パッドコンセプトに基づくロール/アンロール」とはどういう意味ですか?
TT

@ TT--「収集」は、すべてのウィンドウを現在のディスプレイに収集します。これは、たとえば、1つのディスプレイ上の1つまたはいくつかのウィンドウを除くすべてのウィンドウと、メインモニターにフォーカスしているウィンドウが必要な場合に便利です。「WPXA_MaximizeToggle:ウィンドウの最大化または復元」は、最大化されたウィンドウと元のウィンドウを交互に切り替える必要があります。「ロール/アンロール...」は、ウィンドウの作業領域を非表示にし、タイトルバーのみを表示したままにするか、ロールアップ状態からウィンドウ全体を復元します。これのいくつかはメモリからのものであり、私は正確には正しくないかもしれませんが、そうでない場合はかなり近いです。
ludinom

1
詳細に感謝します。ように聞こえるMaximizeToggle私が求めていたような別の画面にウィンドウを復元します。私は最終的にこの「DockWin」を使用することになりました。
TT--

0

一部のGPUでは、この設定やその他の多くの機能の設定を適用できるNvidiaコントロールパネルなど、これをサポートしています。

または、複数のディスプレイ設定を設定するだけで、すべてのモニターでデスクトップをミラーリングする(拡張するのではなく)ことができます。


0

最近ではapp(lication)と呼ばれるWindowsプログラムは、ウィンドウの位置をファイルまたはレジストリに保存できます。このデータの場所がわかっている場合は、メモ帳またはレジストリエディターで手動で編集できます。(レジストリエントリが正しくないと、Windowsが不安定になったり、エラーが発生する場合があります)

自動化された方法の作成は、コーディングスキルのある人にとっては簡単で、必要に応じて(つまり、モニターを再接続した後)開始することができます。これは、アクションスクリプト、.batファイル、またはネイティブアプリによって実行できます。

目的の位置を実装するには、問題のアプリケーションをこれより前に閉じる必要があります。

「オンライン」機能の別の可能性(アプリの再起動は不要)は、Windowsが別のプロセスのウィンドウへのアクセスを許可する場合です。アプローチには、SendMessageおよびWindowProc関数があります。

(これが親アプリケーションのスレッドにのみ適用されるのか、他のアプリケーションのスレッドでも実行できるのかどうかは、現時点ではわかりません...もちろん、Windowsのプログラミングに関する十分な知識が必要です)

https://msdn.microsoft.com/en-us/library/windows/desktop/ms644950%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396

指定されたメッセージを1つまたは複数のウィンドウに送信します。[...]指定したウィンドウが呼び出しスレッドによって作成された場合、ウィンドウプロシージャはサブルーチンとして直ちに呼び出されます。指定されたウィンドウが別のスレッドによって作成された場合、システムはそのスレッドに切り替えて、適切なウィンドウプロシージャを呼び出します。

WM_Moveメッセージ https://docs.microsoft.com/en-us/windows/desktop/winmsg/wm-move

ウィンドウが移動された後に送信されます。

ウィンドウは、WindowProc関数を介してこのメ​​ッセージを受け取ります。

https://msdn.microsoft.com/en-us/library/ms633573%28v=VS.85%29.aspx?f=255&MSPPError=-2147217396

ウィンドウに送信されたメッセージを処理するアプリケーション定義の関数。[...]


0

私はUltraMonを使用します(オープンソースだと思います)。特定の状況では、正しく構成されていればこれを実行できます。

まず、UltraMonプログラムをインストールします。次に、実行中に、プラグインが1台しかない(番号は関係ありません)と言って、プロファイルを作成します。

  • システムトレイのアイコンを右クリックします
  • プロファイルを左クリック
  • 新しいディスプレイプロファイルを左クリックして、名前を付けます(たとえば、プロファイル1のように、使用しているモニターの数を反映した番号を付けます)。
  • 今、あなたはそれを持っています。クールです。各モニター、スクリーンセーバーなどに壁紙を作成できます。すべてのアイコンを思い通りに入手できます。
  • システムトレイアイコンを右クリックします。
  • 左クリックデスクトップアイコン左保存位置

次に、他のディスプレイを接続/切断します。この新しいセットアップ用のプロファイルを作成します。7台のモニターをプラグインするために「プロファイル7」と呼ぶこともできます。アイコンが希望どおりになったら、アイコンの位置を保存します。

このツールを使用すると、プロファイルを簡単に切り替えることができます。デスクトップショートカットを簡単に配置して、プロファイルをすばやく切り替えることができます。

最後に、高度なオプションでは、UltraMonにこれを常に自動的に行うように指示できますが、有料バージョン(1回限りの生涯料金)が必要になる場合があります。

2009年にUltraMonを19.99ドルで購入しましたが、それだけの価値がありました。


3
「どのように」、どのように機能するのか、どのように正しく構成するのかを詳しく説明していただけますか?
fixer1234

はい、先生。まず、UltraMonプログラムをインストールします。www.ultramon.com次に、実行中にプロファイルを作成します(数は関係ありません)1台のモニターのみを接続します。システムトレイのアイコンを右クリックします。プロファイル1のように、使用しているモニターの数で名前を付けます(これは私が行うことです)。クールです。各モニター、スクリーンセーバーなどに壁紙を作成できます。すべてのアイコンを思い通りに入手できます。システムトレイアイコンを右クリックします。左クリックデスクトップアイコン左保存位置
-PyTis

続けて、他のディスプレイを接続/切断します。この新しいセットアップ用のプロファイルを作成します。7台のモニターをプラグインするために「プロファイル7」と呼ぶこともできます。アイコンが希望どおりに配置されたら、アイコンの位置を保存します。このツールを使用すると、プロファイルを簡単に切り替えることができます。デスクトップショートカットを簡単に配置して、プロファイルをすばやく切り替えることができます。最後に、高度なオプションでは、UltraMonにこれを常に自動的に行うように指示できますが、これは有料(1回限りのライフタイム料金)オプションの場合があります。2009年に19.99でUltraMonを購入しましたが、それだけの価値がありました。
PyTis

これは質問に答えていないようです-質問はアプリケーションウィンドウを各モニターに復元することでした。これはデスクトップアイコン(および関連するもの)に対処します。便利なツールのように聞こえますが、関連するツールではありません。
ボブソン

0

Win Redockは私にとって最もうまく機能しました。Redockは自動です-介入なしでウィンドウを保存および復元します。マジック!オープンソースも!


-1

タスクバーのアイコンをShift +右クリックして[移動]を押すと、矢印キーを使用してウィンドウを移動し、Enterキーを使用して位置を設定できます。私は数年前に同じ問題を抱えていました。

別の解決策は、「すべてのウィンドウを現在のモニターに移動」ホットキーを使用して、DisplayFusionを使用してウィンドウを最も近いモニター(接続されている唯一のモニター)にスナップすることです。


1
なぜそんなに複雑なのですか?別のモニターに移動する場合は、windows + shift + left / rightを使用するだけです
-phuclv

-1

これを行うための解決策はありません。画面の一部に移動するには、キーボードの左矢印とキーボードのウィンドウキーを使用して画面間を移動するか、Windowsキー+シフト+左/右を使用する必要があります。

Windowsキー+ Pは、マルチモニターの状況でもミラーリング/拡張などを支援します。

しかし、もう一度、画面を切断すると、それらのウィンドウにメタデータがあった場合、それらはその後消えます


実際には、複数の解決策があります。あなたが言及した1つか2つ。別の解像度を変更することです。
ヘネス

-2

あなたは私のような古い「キーボードの男」であればこれを行うことができます;-]私はこれを何年も前に理解しました。異なるUI。

オフスクリーン/境界線アプリで見つけた最も簡単な方法は次のとおりです。

  • タスクバーからアプリを選択するか、 Alt -Tab
  • Altキーを押しながらスペースバー(Alt-Spacebar
  • メイン画面にメニューが表示され、そのオプションの1つに「移動」が表示され、Mに下線が引かれます。
  • そのため、メニューがまだ表示されている間に「M」キーを押します
  • この時点で、アクティブウィンドウ(オフスクリーンウィンドウ)を「再配置」しているので、ポイント/クリックなどしないでください。
  • マウスをドラッグすることができます(今のところ、ボタンを押す必要はありません必要はありません)、アプリがメイン画面に出入りするのを確認できるはずです。
  • または、矢印キーを使用してアプリを移動することもできますが、同様に機能しますが、少し遅くなり、ウィンドウがどこにあり、どの方向に向かっているかがわかります。
  • ウィンドウをアクティブなサイズ/移動できる「適切な場所」に移動したら、メインマウスボタンをクリックするか、キーボードメソッドを使用している場合は「Enter」キーを押します。
  • これで、ウィンドウ/アプリの移動/調整が簡単になります。
  • 画面外のすべてのウィンドウ/アプリについて繰り返します。

3
(1)あなたの答えは、OPがウィンドウを移動する方法を知らないことを示唆しているようです。問題の全体的なポイントは、どのウィンドウがどのモニターにあったかをコンピューターに記憶させ、ユーザーがそれらの場所を覚えてから一度に1つずつ手動で戻すことなく、コンピューターに自動的に復元させることです。(2)Alt + Spaceキーボードショートカットを除けば、答えはhydraxxの答えの最初の段落と本質的に同じです。…(続き)
スコット

(続き)…(3)キーボードを使用して「移動モード」に入り、マウスを使用して移動することが「最も簡単な」方法だと思うのはなぜですか。hydraxxが言うように、あなたは完全にキーボードでそれをすることができます。または、ウィンドウヘッダーをクリックしてドラッグすることにより、マウスで完全に行うことができます。最も可能性の高いソリューションを提示しました。
スコット

実際には非常にシンプルで、説明は少し複雑です。タスクバーを試してみると、「移動」メニュー項目が表示されません。これは非推奨であるか、システム上の何かが表示を妨げています。私は、alt-spc以外の答えは本質的に同じであることに同意しますが、私は自分の方法を何十人も示してきました。 。私の答えは、前述のように、keybdのみのソリューションを可能にします。これにはユーティリティもありますが、シェル拡張が望ましくない効果をもたらす場合があります
...-PeteG

ただし、OSで同じ構造を使用して、ほぼ同じ場所に到達していることに同意します。
PeteG

また、DisplayFusionを使用してこれを行うこともできます。現在のタスク/ウィンドウを現在の(メインの可能性が高い)モニターに「スナップ」する設定があります。
PeteG
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.