コマンドラインで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