セカンドモニターのWindowsがスリープ/ロック後にプライマリモニターに移動する

最新のWindows10を使用しています。デュアルモニターでソフトウェアの開発をしています。Visual Studioをセカンドモニターに移動して作業しています。

Windowsをロックしてコンピュータから離れてどこかに行き、20~30分後に戻ってくると、ノートPCと2台目の外付けモニターの両方が黒くなっていて、パスワードを入力する必要があります。コンピュータのロックを解除すると、Visual Studio 2017はプライマリ(ラップトップ)のディスプレイに移動します。

毎回、Visual Studioを2番目のモニターに移動させなければなりません。この問題を解決する方法はありますか?

ソリューション

Microsoft Communityに掲載されている同様のケースでは、回避策が紹介されていますので、試してみてください。

コントロールパネルを起動 --> デバイスマネージャー 表示] --> [隠しデバイスの表示]を選択 コンピュータを展開 --> モニターを展開

*モニターを展開すると、現在のモニター(ハイライト表示)と、接続されていないすべてのモニター(グレー表示)が表示されます。 また、"non-PNP"や"PNP"が表示されているモニターもあります。 これらは、Windowsがドライバーをインストールする前の、現在のモニターの別名(低解像度)だと思います。
私はグレーアウトしたモニターをすべてアンインストールしました。 これらのモニターを右クリックして、アンインストールを選択します。 現在使用しているハイライトされたモニターだけを残します。
グレーアウトしたモニターをすべてアンインストールする(非PNP、PNPのモニターも含む) システムを再起動してください。 これを行うと、モニターがスリープ状態になってもウィンドウのサイズが変わらなくなりました。 モニターのスリープ時間を一時的に1分に設定することで、すぐにテストすることができます。

Settings --> System --> Power & Sleep --> Screen [1 minute].

https://answers.microsoft.com/en-us/windows/forum/windows_10-hardware-winpc/windows-10-multiple-display-windows-are-moved-and/2b9d5a18-45cc-4c50-b16e-fd95dbf27ff3

解説 (4)

TL;DR - VGA接続のモニターにウィンドウが移動している場合、3つの選択肢があるようです。

  • そのモニターの接続をVGA以外に変更する(私はDisplayPort接続に変更すると直りました。)
  • VGAモニタをプライマリモニタにする。
  • レジュームのたびにVGAモニターを外し、再び接続する。

私はこの問題を抱えていました - スリープ/休止状態からの再開時に、すべてのウィンドウが1つのモニターにシフトしました。 ウィンドウが移動した液晶モニターはVGAケーブルで接続されていましたが、私のプライマリモニターはDisplayPortで接続されており、さらにラップトップのディスプレイも接続されています。

VGAモニターの電源を切ってもウィンドウはプライマリモニターに戻りませんでしたが、VGAモニターのプラグを抜くとウィンドウは強制的に戻りました。

VGA接続では、モニターが実際にオフになっていることは報告されず、モニターが存在していることだけが報告され、WindowsはDisplayPort接続のモニターやノートPCの内蔵ディスプレイよりも先にそれを検出して、WindowsをVGAモニターに移動させているのだと思います。

幸い、VGA接続のモニターにもDisplayPortが接続されていたので、モニターをDisplayPortに変更したところ、問題は解決しました。

解説 (4)

私も同様の問題がありましたが、休止状態からの起動時のみでした。拡張デスクトップ設定で2台目のモニターに接続すると、1台目のディスプレイ(ノートPC)でしかウィンドウを操作できないことがありました。もちろん再起動すれば問題は解決しましたが、ハイバネートの目的は、システムを起動するたびに最初から作業を始めなければならないということではありません。

今日になってようやく、"dwm.exe"プロセス(Desktop Windows Manager)が何らかの理由で重複していたことがわかりました。そして、どうやら私のユーザーセッションのために、いくつかの設定が正しく復元されなかったようです。管理者として正しいプロセスを再起動したところ、すべてが正常に戻りました。

私がしたことは以下の通りです。

  1. 管理者としてコマンドプロンプトを開く(「スタート」を開き、「"cmd.exe"」と入力します。 右クリックして、「管理者として実行」を選択します。)
  2. コマンドプロンプトウィンドウ内で、"taskmgr.exe"を実行します。 2. このコマンドプロンプトウィンドウで "taskmgr.exe"を実行します(昇格権限が必要です)。 詳細」タブを開きます。
  3. "dwm.exe"プロセスを検索し、"End Task"ボタンまたはコンテキストメニューから実行します。
  4. 必要なDWMプロセスはあなたのユーザーセッションのためにそれ自体を再起動しますが、"wrong" プロセスは予告なしに終了します。

Warning: すぐに気づいたのですが、Chromeブラウザはdwm.exeプロセスの再起動にうまく反応せず、すべてのChromeウィンドウが黒くなっていました。Firefoxにはそのような問題はありませんでした。幸運なことに、Chromeの新しいウィンドウを開くために ショートカットを押して、Chromeの新しいウィンドウを開いてみるだけでも効果がありました。

解説 (0)