Windows 11でスリープ後にウィンドウが移動したりサイズ変更されたりするのを防ぐ方法

Windows 11 のユーザーの多くは、PC をスリープ解除した後、ウィンドウがあちこちに表示されていたり、サイズが勝手に変更されたりすることにイライラします。特に、複数のモニターを同時に使用していたり​​、DisplayPort などのケーブルを切り替えたりしている場合は、かなりイライラすることがあります。原因としては、Windows がディスプレイの設定を誤認していたり​​、古いモニター プロファイルが残っていたり、ドライバーがうまく動作しなくなったりすることが挙げられます。この問題を解決するのは必ずしも簡単ではありませんが、いくつかの実用的なトリックを使えば、通常は混乱を整理して、ウィンドウを希望の場所に維持できます。ここでは、スリープ モード後もウィンドウの位置を維持するための、より実用的で少し厳しいガイドを紹介します。手間が省け、頭を悩ませることも少なくなるでしょう。目標は? 古いディスプレイ構成の混乱を Windows に忘れさせて、好みのウィンドウ レイアウトを記憶させること。少なくとも、その卑劣な PC を復帰させたときに、より快適に操作できるようにすることです。

Windows 11でスリープ後にウィンドウが移動したりサイズ変更されたりする問題を解決する方法

方法1: レジストリ内の古いディスプレイキャッシュをクリアする

これはちょっと奇妙ですが、Windowsはディスプレイとモニターの設定をレジストリにキャッシュしています。時間が経つにつれて、特にモニターを頻繁に追加したり削除したりする場合、古い設定は古くなり、スリープ解除時にWindowsが混乱する可能性があります。これらのエントリをクリアすると、Windowsはディスプレイ情報を強制的にリセットし、ウィンドウの位置が安定することがよくあります。ただし、レジストリをいじるのはリスクを伴う場合がありますので、事前にregeditの「ファイル」>「エクスポート」でバックアップすることをお勧めします。設定によっては、この消去によって設定が適切な場所に維持されることがあります。しかし、ハードウェアとドライバーの組み合わせによっては、この方法が有効にならない場合もあります。

手順:

  • Win + Rを押して と入力しregeditEnter キーを押します。(もちろん、UAC プロンプトが表示された場合は確認してください。)
  • 以下のレジストリ パスに移動し、それらをコピーして regedit のアドレス バーに貼り付けます。
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Connectivity
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\ScaleFactors
  • これらのパスの下にある各フォルダを右クリックし、「削除」を選択します。モニタープロファイルや設定のようなサブキーが複数見つかる場合もありますが、古いものや使用されていないものを削除してください。
  • regedit を閉じて、PC を再起動します。(Windows はすべての表示情報を最初から再構築する必要があるためです。)

再起動後、ウィンドウを整理しましょう。ドラッグ&ドロップで好みのレイアウトに設定してください。Windowsがスリープ解除後にこの設定を記憶してくれることを祈ります。

方法2:デバイスマネージャーから古いモニターを削除する

Windowsは、かなり前に取り外したモニターのゴーストプロファイルを保存している場合があり、ウィンドウの位置がずれることがあります。これらのプロファイルを消去すると、システムはアクティブなディスプレイのみに集中できるようになり、起動後にウィンドウの位置がずれる可能性が低くなります。

手順:

  • [スタート]ボタンを右クリックし、[デバイス マネージャー]を選択します。
  • 「表示」メニューをクリックし、「非表示のデバイスの表示」を選択します。これにより、ゴーストや残骸が表示されます。
  • [モニター]セクションを展開し、グレー表示されているモニターや古いモニターを右クリックして、[デバイスのアンインストール] を選択します。
  • すべての取り外されたモニターや古いモニターに対してこれを実行した後、再起動して、接続されているモニターのみを Windows が適切に認識できるようにします。

これは、Windowsが切断されたモニターを存在として認識しなくなり、スリープ解除時にウィンドウがジャンプする問題がなくなるため役立ちます。経験上、一部のマシンではこれできれいに修正されますが、他のマシンでは…そうでもありません。試してみる価値はあります。

方法3:Windowsのディスプレイとマルチタスクの設定を調整する

Windows 11では、ドッキングやドッキング解除後にウィンドウの位置がずれてしまう場合に、ウィンドウの位置を保持できる設定がいくつか導入されました。特にマルチモニターを使用している場合や、ディスプレイの接続と切断を頻繁に行う場合は、特定のオプションを有効化または切り替えることで、レイアウトが多少安定する可能性があります。

手順:

  • [設定] > [システム] > [マルチタスク]に移動します。
  • 「モニター接続に基づいてウィンドウの位置を記憶する」を有効にします。このオプションが直接表示されない場合は、関連するトグルまたは試験的な設定を探してください。Windowsは、フラグや新しいビルドで機能を隠してしまうことがあります。
  • ウィンドウが自動的に移動し続ける場合は、スナップ ウィンドウを一時的にオフにしてから再度オンにして、再度切り替えた後にウィンドウが適切に固定されるかどうかを確認します。

すべての設定で完璧な結果が得られるとは限りませんが、これらのトグルをいじってみる価値はあります。場合によっては、機能をオン/オフにするだけで、Windows のワークスペースに関する想定がリセットされ、ウィンドウメモリの信頼性が向上することがあります。

方法4: ディスプレイドライバーとモニターのファームウェアを更新する

これは通常、大きな解決策となります。古いドライバーやファームウェアは、特にスリープサイクル後にWindowsがディスプレイ設定を認識する際に問題を引き起こす可能性があります。適切な最新のグラフィックドライバーは、モニターのホットプラグやディスプレイの検出をより適切に処理し、予期せぬ問題を軽減します。

手順:

  • GPUのブランド(ノートパソコンまたはデスクトップ)を特定します。おそらくIntel、Nvidia、AMDのいずれかでしょう。NvidiaのドライバーダウンロードAMDのサポートページなど、各社の公式サイトにアクセスしてください。
  • お使いのカードの最新ドライバをダウンロードしてインストールしてください。インストールの指示に従い、再起動してください。
  • モニターの製造元がファームウェアのアップデートを提供している場合 (サポート サイトを確認してください)、それもフラッシュします。通常は、ダウンロードとファームウェア フラッシュ ツールが必要です。
  • 更新するたびに、スリープ後のウィンドウの位置をテストします。場合によっては、これでずれを修正するのに十分です。

これは大いに役立ちます。あるマシンでは、古いドライバーのせいですべてが悪化しましたが、別のマシンでは、ファームウェアのアップデートで問題が完全に解決しました。

方法5: DisplayPortとケーブルの設定を調整する

DisplayPortは、何らかの理由でスリープ中に頻繁に切断されるため、Windowsはディスプレイが切断されたと認識し、すべてのウィンドウを移動させてしまいます。HDMIまたはDVIへの切り替えができない場合は、設定を確認してください。

  • モニターがサポートしている場合は、より安定した接続のためにHDMIまたはDVIに切り替えてください。
  • モニターのOSDメニューで、DDC/CI自動ソースなどのオプションを確認してください。これらのオプションを変更すると、スリープ/ウェイクサイクル中の信号の一貫性を維持できる場合があります。

ハードウェアによっては、これらのオプションを切り替えることで接続が安定し、ウィンドウが飛び回らなくなる場合があります。保証はできませんが、試してみる価値はあります。

方法6:サードパーティのユーティリティを使用してWindowsを適切な場所に保つ

Windows自体が安定しない場合は、そのような状況に対応するユーティリティがいくつかあります。これらのユーティリティはウィンドウのレイアウトを保存し、スリープ、切断、解像度の変更後に復元します。完璧ではありませんが、画面が常に動いているときには救世主となることがよくあります。

MonitorKeeperは、モニター配置ごとにウィンドウの配置を記憶するシンプルなオープンソースアプリです。実行してレイアウトを保存し、必要に応じて復元するだけです。

PersistentWindows はウィンドウの位置を追跡し、スリープやモニターの変更後にそれを適用します。常に変化するマルチモニター環境の場合に便利です。

DisplayFusionは有料ですが、機能が充実しています。ロック/ロック解除時やモニターの抜き差し時に、レイアウトを自動的に保存・復元できます。ヘビーユーザーには非常に便利です。

これらは魔法の解決策ではありませんが、混乱した設定で物事を整理したり、ウィンドウを固定したままにしておく必要がある人にとって、本当に役立ちます。

最後に

Windows 11 にはスリープ後のウィンドウの位置に関する奇妙な挙動がいくつもあるのが少し面倒ですが、レジストリのクリーニング、ドライバーのアップデート、そして少しの設定調整を組み合わせることで、ほとんどの問題は解決できます。それでも解決できない場合は、MonitorKeeper や DisplayFusion などのユーティリティが代わりに対応してくれます。通常は、ドライバーの問題かディスプレイの認識の問題か、ウィンドウの位置がずれる原因を特定し、直接対処することが重要です。

これらの方法のいずれかが、より安定したワークスペースを実現するのに役立つことを願っています。多少の試行錯誤は必要ですが、PCが休止状態になるたびにウィンドウが飛び回るのを防ぐには、それだけの価値はあります。

まとめ

  • レジストリ経由でディスプレイ キャッシュをクリアします (注意してください)
  • デバイスマネージャーから古いモニタープロファイルを削除する
  • Windowsのマルチタスクとディスプレイ設定を調整する
  • グラフィックドライバーとモニターのファームウェアを最新の状態に保つ
  • DisplayPortケーブルを切り替えたり、モニターのソース設定を調整したりする
  • 必要に応じてサードパーティのウィンドウ管理ツールを使用する

まとめ

Windows 11でスリープ後のウィンドウの動作を安定させるのは必ずしも簡単ではありませんが、少し手間をかければレイアウトを安定させることができる可能性は十分にあります。古い設定を消去したりドライバーを更新したりするだけで済む場合もあれば、ユーティリティが解決の糸口となる場合もあります。この記事が少しでも参考になれば幸いです。複数の環境でうまくいった方法なので、誰かの時間を1、2時間、いやそれ以上節約できるかもしれません。