ディスプレイが休止するとウィンドウが左上に集約される問題が発生:解決

ウィンドウが左上にまとまってしまった状態

この記事を書いた背景

先日のAmazonプライムデーで4Kのディスプレイを買ったのですが、ディスプレイの電源が省電力モードに入ったあと復帰させると、実行していたアプリケーションのウィンドウサイズが小さくなって左上にまとまってしまうという問題が発生しました。

上にあるこの記事のタイトル画像を見ていただくとわかるかと思いますが、このようなウィンドウのサイズで配置する使い方は通常しないでしょう(笑)

使おうと思うタイミングで毎回この症状が発生すると、なかなかにストレスです。

今回の症状が出た機器

原因

この症状が発生するのは、ディスプレイが省電力モードになった時点でWindowsがディスプレイを取り外したという扱いになってしまっていることが原因です。

Windowsがディスプレイが取り外されたという認識をすると、サポートしている最小の解像度(1024×768)に収まるようにウィンドウサイズや位置を変更するというWindowsの仕様によるものです。

なお、この問題が発生するのは、PCとディスプレイとの接続方法がHDMIもしくはDisplayPortの場合です。

解決方法

解決方法としては、Windows 10の必須となるディスプレイ解像度を、4Kディスプレイの解像度(3840×2160)に変更することです。

こうすることで、ディスプレイが切断させた扱いになっても復帰する解像度に差がないので、ウィンドウサイズの変更や移動が発生しなくなります。

設定の変更はレジストリエディタで行います。

ディスプレイアダプタやWindows 10のバージョンによって変更するキーが違うと思いますが、解像度の値で探せば見つかると思います。

手順は次の通りです。

手順

  1. レジストリエディタを立ち上げる
    Win+Rregeditと入力、「OK」ボタンをクリック
  2. レジストリキーを開く
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration\NOEDID_xxxx
    レジストリエディタでディスプレイサイズの変更
  3. 配下の00キーと00\00にある下記の値を全て書き換える
    • PrimSurfSize.cx:3840
    • PrimSurfSize.cy:2160
    • ActiveSize.cx:3840
    • ActiveSize.cy:2160
    • DwmClipBox.bottom:2160
    • DwmClipBox.right:3840
      ※10進数で指定する
  4. Windowsを再起動する

なお、値の変更は上記すべての必要はないと思うのですが、MSDNなど見ても各値の詳細を見つけられなかったため可能性のある値すべてを書き換えるという強引なやり方をしています(苦笑)

まとめ

これまでここまで解像度が高いディスプレイは使ったことがなかったので気にしたことはありませんでしたが、この症状があまりにも頻発するので解決方法を探してまとめました。

もし解像度の低いディスプレイに変更することがあるのであれば、設定をあらかじめ元に戻しておかないと画面外に吹っ飛んでしまうウィンドウが出でしょうから気をつけましょう。

参考になれば幸いです。

購入した機器

え?Webサイトのバックアップ、してないの!?

いざという時には復旧までしてくれる
『ワードプレス外部バックアップサービス』

■3つの特長
・自分でやらなくて良い
・いざという時の復旧付き
・外部サーバーにバックアップ

コメントを残す