はじめに
複数モニター環境を利用していると、作業に応じてモニター構成を変更したい場面がよくあります。
GUIで都度設定するのは面倒ですが、MultiMonitorToolとバッチスクリプトを使えば、
モニターの構成を一括で自動化できます。
使用ツール:MultiMonitorToolとは?
MultiMonitorTool は、NirSoft製のフリーソフトで、
コマンドラインからモニターの有効化/無効化、プライマリ変更、解像度変更などが行えます。
- 対応OS: Windows 7以降(64bit/32bit)
- 主な機能: モニターの有効化/無効化、解像度・配置設定、プライマリ切り替えなど
スクリプト全体の概要
@echo off
rem ディレクトリ移動
cd C:\Program Files (x86)\multimonitortool-x64
rem 全モニター起動
MultiMonitorTool.exe /enable 1
timeout /t 5 /nobreak >nul
MultiMonitorTool.exe /enable 2
timeout /t 5 /nobreak >nul
MultiMonitorTool.exe /enable 3
timeout /t 5 /nobreak >nul
rem 作業用設定
MultiMonitorTool.exe /SetPrimary "XMDF09D"
timeout /t 5 /nobreak >nul
MultiMonitorTool.exe /SetMonitors "Name=MONITOR\XMDF09D\{4d36e96e-e325-11ce-bfc1-08002be10318}\0001 BitsPerPixel=32 Width=3840 Height=2160 DisplayFlags=0 DisplayFrequency=144 DisplayOrientation=0 PositionX=0 PositionY=0"
timeout /t 10 /nobreak >nul
MultiMonitorTool.exe /disable "AUS2768"
timeout /t 10 /nobreak >nul
MultiMonitorTool.exe /disable "BNQ7F7A"
スクリプトの処理内容(ステップ解説)
1. MultiMonitorToolのパスへ移動
MultiMonitorTool.exe のあるディレクトリに移動します。
2. 全モニターの有効化
接続されているモニターを全て一時的に有効化します。
3. プライマリモニターの設定
“XMDF09D” というモニターをプライマリに設定します。識別名は /scomma オプションで一覧取得可能です。
4. 解像度やリフレッシュレートの設定
表示品質や物理配置を詳細に指定します。
5. 他モニターの無効化
不要なモニターを識別子で指定して無効化します。
実行結果
このスクリプトをダブルクリックするだけで、
- 3つのモニターが一時的に有効化
- 指定モニターをプライマリに設定
- 解像度・リフレッシュレートのカスタム適用
- 不要なモニターを自動で無効化
という一連の作業が自動で完了します。
まとめ
MultiMonitorTool を使えば、作業用・会議用など状況に応じたモニター構成の切り替えを一発で行うことができます。
本記事のスクリプトをベースに、自分の用途に応じてカスタマイズしてみてください。
補足
処理の流れとして、全モニタを有効化→指定モニターをプライマリに指定→解像度設定→不要なモニターを無効化という流れで設定していますが、この一連の流れで実行しないとモニターの読み込みに不整合が発生し、処理が停止してしまいます。その為この流れは必ず守るようにしてください。
また、モニターナンバー、モニターIDで指定している箇所がありますが、これも必ず守ってください。
※モニターIDをモニターナンバーで指定する等はしないこと。


コメント