ノートパソコンを仕事場でデュアルディスプレイにしている場合,出先から帰った時に自動的に元の設定に戻らないことがある.最近のWindowsは賢いから自動的に戻ってくれる様だが,たまに接続する順番によっては元に戻らない.たとえばノートパソコンを閉じたまま外部ディスプレイにつなげると,外部ディスプレイ表示のみという情報に変わってしまい,パソコンを開いてもデュアルディスプレイにならなくなってしまう.
コマンドラインでWindowsのディスプレイの設定を変えるために,Display Changerを使う(私的利用ならフリー).
http://12noon.com/?page_id=80
インストーラでインストールし,以下のコマンドを実行してディスプレイの情報を得る.なお32bit版は
dccmd.exeで,64bit版は
dc64cmd.exeである.インストール先は"
C:\Program Files (x86)\12noon Display Changer"であった
>dc64cmd.exe -listmonitors
Monitor: 汎用 PnP モニター
Device: \\.\DISPLAY1
Adapter: Intel(R) HD Graphics 5500
(1920 x 1080 x 32 bpp) 60Hz up, attached, primary (0,0)
Monitor:
Device: \\.\DISPLAY2
Adapter: Intel(R) HD Graphics 5500
(1920 x 1080 x 32 bpp) 60Hz up
Monitor:
Device: \\.\DISPLAY3
Adapter: Intel(R) HD Graphics 5500
(1920 x 1080 x 32 bpp) 60Hz up
\\.\DISPLAY1がノートPCのディスプレイで,他が外部ディスプレイ.ノートPCの真上にFullHDのモニタを設置するには,以下のコマンドを実行する.
>dc64cmd.exe -monitor="\\.\DISPLAY2" -secondary -width=1920 -height=1080 -ty=-1080 -lx=0
-widthと-heightはDISPLAY2の解像度,-tyと-lxは原点(左上)のプライマリモニタに対する相対位置.上側/左側に持って行く場合は負になる.
確認すると,ちゃんと\\.\DISPLAY2が\\.\DISPLAY1の上部に設置された.
>dc64cmd.exe -listmonitors
Monitor: 汎用 PnP モニター
Device: \\.\DISPLAY1
Adapter: Intel(R) HD Graphics 5500
(1920 x 1080 x 32 bpp) 60Hz up, attached, primary (0,0)
Monitor: 汎用 PnP モニター
Device: \\.\DISPLAY2
Adapter: Intel(R) HD Graphics 5500
(1920 x 1080 x 32 bpp) 60Hz up, attached (0,-1080)
ディスプレイを外すには以下のコマンドを実行すればよい(今時のWindowsならブチッと抜いてもいいだろう).
>dc64cmd.exe -monitor="\\.\DISPLAY2" -detach
あとはよく使うコマンドをバッチファイルに書いてショートカットに設定すればOK