マルチモニターシステムを使用していないときはスリープ状態にします。起動すると、すべてのウィンドウが別の画面に再配置されます。私が考えることができる最も近いパターンは、メイン画面にあったウィンドウがセカンド画面に切り替わることです。スリープ状態になる前にメイン画面を切断し、すべてのウィンドウを2番目または3番目の画面に切り替えるように見えます。
編集:これは私が使用しているビデオカードです-> SAPPHIRE FleX 100322FLEX Radeon HD 6450
マルチモニターシステムを使用していないときはスリープ状態にします。起動すると、すべてのウィンドウが別の画面に再配置されます。私が考えることができる最も近いパターンは、メイン画面にあったウィンドウがセカンド画面に切り替わることです。スリープ状態になる前にメイン画面を切断し、すべてのウィンドウを2番目または3番目の画面に切り替えるように見えます。
編集:これは私が使用しているビデオカードです-> SAPPHIRE FleX 100322FLEX Radeon HD 6450
回答:
この問題は、グラフィックドライバーにある可能性が最も高いです。1台のモニターがWindowsのマルチモニター設定から切断されると、Windowsはその画面から残りの画面にすべてを移動しようとします。通常、これはコンピューターをサスペンド/休止/シャットダウンしているときは発生しません。したがって、おそらくグラフィックドライバが次のいずれかを実行していることが原因です。
チップセットの製造元のWebサイトにアクセスして、グラフィックドライバーの更新があるかどうかを確認します。
これは古い質問ですが、同じ問題で誰かがここに到着した場合、ここに投稿された解決策を試すことをお勧めします:
DisplayPortに2つの2560x1440ディスプレイを搭載したWindows 8.1を実行しています。スリープから復帰すると、すべてのウィンドウが1つのディスプレイにプッシュされ、一部のウィンドウのサイズが変更されました。これで問題が解決します。これで、すべてのウィンドウの位置とサイズが保持されます。関連するリンクコンテンツは次のとおりです。
回避策を見つけました。Sysinternals ProcessMonitorを使用して、Windowsが次のレジストリパスにアクセスしていることがわかりました。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration
私のシステムには3つのエントリがありました。
DELF003YY7707BR0MUL_30_07D7_6A^9A3774EB79DEE3E3E38496CC7DF4D936
QHD32000001_31_07D6_D5^63E1ABDD175E7871DCAEB710418A0F75
SIMULATED_8086_2A42_00000000_00020000_1010100^CDE365D1B3F0942F0CF38BFB8E127AB4
それぞれの下にと呼ばれるツリーがあります
00
。キーの2つは次のとおりです。
PrimSurfSize.cx
PrimSurfSize.cy
下に
00
は別のブランチもありました00
。キーの2つは次のとおりです。
ActiveSize.cx
ActiveSize.cy
最初の2つの構成(つまり
DELF00...
&QHD3...
)では、上記のキーは1440x900であったため、関係しませんでした。3番目(
SIMULATED...
)は1024x768に設定されました。これらを1600x900に変更し、問題を解決しました。
さらに、(コントロールパネルを介して)解像度を1920x1080に変更すると、移動/サイズ変更の問題が返されましたが、右下隅が1600x900、つまり
SIMULATED...
設定に設定されました。そのため、何らかの理由で構成の1つが正しく設定されません。
なぜ3つの設定があるのか分かりませんが、モニターを1つしか使用したことがありません。
コンピューターにIntel HD Graphicsが搭載されている場合は、Intel Graphicsコントロールパネルから拡張ディスプレイオプション(および解像度設定)を設定する必要があります。Windowsディスプレイ設定から実行すると、スリープモードから復帰した後にリセットされます。
これがスクリーンショットです。
これらの投稿のアイデアを組み合わせて、この問題の回避策を見つけたと思います。
(私のPCはWindows 10 TH2、HDMIポート付きIntel HD4600、Changhong 4kモニターです)
手順は次のとおりです。
... GraphicDrivers \ Configuration and GraphicDrivers \ Connectivityの下にある余分なレジストリエントリをすべて削除し、モニターに対応するエントリのみを残します(MST00301 ...)
モニターをスリープ状態にする前に、「WIN」+「D」コンボキーを入力して、すべてのデスクトップウィンドウを最小化します。
モニターをオンにした後、「WIN」+「D」をもう一度入力して、すべてのウィンドウを復元します。
通常、これは、スリープモードを適切にサポートしていないグラフィックスドライバーが原因で発生するため、コンピューターがスリープ状態になると、接続されたディスプレイを検出できなくなります。
問題を解決するには、製造元からグラフィックドライバーを更新します。
ドライバーを更新しても問題が解決されない場合は、異常に報告されたディスプレイID(EDID)が原因である可能性があります。通常、グラフィックスドライバーのコントロールパネル内でモニターを強制的に検出できます。
ただし、これが利用できない場合は、Windows解像度ウィンドウを使用して、モニターが切断されている間にデバイスを検出し、「別のディスプレイが接続されていません」と表示されるディスプレイを選択します。選択したポートタイプを介してモニターに信号をブロードキャストし(信号は対話的ではありません)、送信された信号を適切に解釈するディスプレイを接続します。
強制解像度は画面の検出を無効にし、スリープ状態が続くまで持続します。
Windows 8.1およびMacbook Air 2013(Intel HD Graphics 5000)でも同じ問題が発生します。私はすべてを試します。最後に、グラフィックカードの最新ドライバーで更新されたIntelに行きましたが、問題は続きます。次に、グラフィックプロパティに移動し、マルチディスプレイで2番目のディスプレイをオンにして「このディスプレイを切断」を選択し、2番目のディスプレイを切断した後、デスクトップを拡張して問題が消えるようにします。これがあなたのために働くことを願っています。
私の場合、3つの1920x1080モニターが水平に配置されているため、他の回答(HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration
)に記載されているレジストリキーに移動しSIMULATED
、で始まるキーを見つけ、そのキーの下の1920のすべての値を5760(1920)に変更することで修正されたようです3回のモニターに対して3回)。
SIMULATED
PCがスリープ状態になるときにキーが使用されると思いますが、実際のモニターがまだ自分自身を報告していない場合でも、Windowsはスリープ状態への移行/スリープ解除のプロセスでデスクトップを維持する必要があります。
私にとって、修正はhttps://superuser.com/a/908156/238666でした。要約:Windowsは、起動時にモニターからEDID情報を読み取れません。Nvidiaコントロールパネルで、EDID情報をファイルに保存し、タスク:ワークステーション、システムの表示でそのファイルからPCを読み取るように設定できますトポロジ、EDIDソース。
私の限られた見解では、根本的な問題はNvidiaカードだけでなく、Windows、DisplayPort、またはモニター(Lenovo X1 4K)である可能性があります
この小さなアプリケーションで解決しました:https :
//github.com/hunkydoryrepair/MonitorKeeper/releases
実行するだけで、同じ位置にウィンドウが維持されます。
@hunkydoryrepairありがとうございます。
好むと好まざるとにかかわらず、しかし、特定の4Kモニターを搭載したDellの既知の問題に応じてリンクされています http://www.dell.com/support/Article/us/en/19/SLN295708/EN 私は30Hzの59 / 60Hzのから切り替える必要がありましたインテルの4600上の3台のDell P2415Q 4K UHDをディスプレイのDP / mDPに接続すると、助けになりました-デルのKB記事に書いてあります。UP3214QおよびP2715Qにも適用されます。
この問題は、低解像度QHD Dell U2515H +同じビデオ/ PCでは現れませんでした
レジストリキーの削除とドライバーの更新は役に立ちませんでした。
UPD 2018/08:また、グラフィックカードをNVIDIA Quadro P600にアップグレードしても問題は解決しなかったため、30Hzのままにします。