マルチディスプレイの「メインのみ/拡張/複製/セカンドのみ」を簡単に切り替えるコマンド

セカンドモニターが映らないときがある

グラフィックカードの問題なのか?それともモニターの問題なのか?

2台のモニターを接続しているWindows10のデスクトップPCを使っていますが、スリープから復帰したとき、セカンドモニターだけ真っ暗のままで画面が映らないことがあります。

表示モードの切り替えが面倒

セカンドモニターを表示させるために、いつも以下の方法で解決しています。

  • [設定]-[システム]-[ディスプレイ]の画面を開く

(または、デスクトップ右クリックメニューの「ディスプレイ設定」を開く)

  • マルチディスプレイのモードを「拡張」から「1のみに表示する」に変更
  • セカンダリディスプレイがスリープするまで10秒程度待つ
  • マルチディスプレイのモードを「1のみに表示する」から「拡張」に戻す

ですが、症状の発生頻度が多いとちょっと面倒です。

ちょっと簡単なのはショートカットキーを使う

同様の操作をWindows+Pで出るメニューからマルチディスプレイのモードを変更することができますが、もっと簡単にできればと方法を探してみたらありました。

DisplaySwitch.exeをコマンドで操作

C:\Windows/System32にDisplaySwitch.exeというのがあります。これをコマンドで操作することでマルチディスプレイのモードを変更できるみたいです。

コマンド例

  表示モード
  コマンド




  コンピューター(プライマリディスプレイ)のみ表示
  DisplaySwitch.exe /internal


  複製モード(ミラーモード)
  DisplaySwitch.exe /clone


  拡張モード
  DisplaySwitch.exe /extend


  プロジェクターなど外部(セカンダリディスプレイ)のみ表示
  DisplaySwitch.exe /external

 

バッチファイル例

この操作をもっと簡単に自動でできるようにバッチファイルを作るとしたら以下となります。

DisplaySwitch.exe /internal
timeout 20 /nobreak >nul && ディスプレイのスリープを待機しています。
DisplaySwitch.exe /extend
exit

とりあえず、これで面倒な切り替えが楽になります。

Hugo で構築されています。
テーマ Stack は Jimmy によって設計されています。