デュアルモニター/マルチモニターで役立つ小技?

ちょっと前にロフトベッドを購入して部屋のPCの配置を変えたんですが、そのついでに複数あったモニタの配置と接続をやりなおしたので、2台あるデスクトップと、新たにベッドサイドに置いたノートPC、すべてがデュアルモニター(マルチディスプレイとかデュアルディスプレイとも言うらしいですが)になりました。
デュアルモニターになって全般的には便利になったものの、シングルモニターでは無かった状況があって、ちょっと調べて解決してみたのでメモも兼ねてエントリ。
まず困ったのは、モニタがロフトベッドの上下に分かれているゲーム用PC。ロフトベッド下のパソコン用机に置いたメインのモニターと、ロフトベッド上のベッドサイドに置いた寝ゲーム用モニターが繋がっています。
配線の都合でベッド上の寝ゲームモニターがプライマリなので、うっかりディスプレイ出力を「PC画面のみ」とかに切り替えてしまうと、ベッド上のモニターにしか画面が出ません。さすがにベッドサイドにキーボードは置いてないので、少しキー操作してはベッド上のモニターを覗き込む、というふうにして復旧しなければいけません。寝ゲームする際にも、ディスプレイ出力をあらかじめ「複製」にしておかないと、キーボードの無いベッドサイドでは何もできなくなってしまいます。
ショートカットキーでもあれば目隠し打ち*1するんですが、固定のキーで操作できるのはWindows+Pキーでプロジェクターメニューを開くことまで。逆にベッドサイドにはキーボードが無いので、マウスのみで操作できないと、いちいちベッドを降りることになります。致命的ではないものの、ちょっと不便に感じていました。
で、ググッて見つけたのがWindows標準のDisplaySwitchコマンドを使った解決方法。

DisplaySwitch.exeはコマンドラインオプションを備えており、「複製」や「拡張」といった表示形式を直接選択することもできます。そこで今週は、マルチディスプレイの状態をコンテキストメニューから呼び出すチューニングをお送りしましょう。

【コラム】Windowsスマートチューニング - 295 Win 7/8/8.1編: マルチディスプレイをコンテキストメニューから切り替える

このページの.regファイルのショートカットキー設定のままでは不具合があったので*2、ついでにサブメニュー側にもショートカットキー*3を加える改造をして、しばらく使っていました。これだとキーボードのみの目隠し打ち*4で設定が変えられますし、マウスならデスクトップを右クリックすれば同じ操作ができます。
とりあえずこれで目的は達成していたんですが、上記のチューニングで使っているDisplaySwitchコマンドは、実行すると、Windows 7なら画面中央、Windows 8以降なら画面右側にプロジェクターメニューが表示されて、それが消えるまで切り替わりません。
いちいちメニューが出るのも煩雑ですし、切り替わるまでのタイムラグ(それでも1〜2秒程度ですが)が気になります。表示無しで切り替えるツールは無いかと、さらにググって見つけたのが「Display Changer」という切り替えツール。現時点では機能拡充版の「Display Changer II」も出ていますので、今回はそちらを使いました。

12noon PRODUCTSページ - Display Changer II

適当なフォルダにZIPの中身を展開して*5、先の.regファイルのコマンドの部分に、こちらのコマンドをフルパスで書き込めば*6、同じ操作をメニュー表示無しに行えるようになります。
ただし、x86(32bit)版のほうの動作がちょっと変だったりします。切り替えは行われるのですが、切り替えが終わったあとにエラーのダイアログが出ていることが時々あります。ダイアログはOKボタンを押せば消えるし、めったに出ないので、とりあえずそのまま使っていますが……。
次に困った、というか面倒に感じたのが、一般的なデュアルモニターでのアプリの起動。うちのPCでは、すべて両方の画面にタスクバーを表示しているので、どちらの画面でもアプリが起動できますが、起動した時にウインドウが開くのはメインディスプレイに設定した側です。アプリを起動しても、自分が今見ている側のモニターには変化が無かったりするので、ちょっと焦ります。先のゲーム用PCでも「拡張」表示の状態でゲームを起動しようとすると、ウインドウは同様にベッド下のメインのモニターに開きます。
こんなとき、いちいちウインドウをドラッグしてもう片方のモニタに移動させるのは面倒ですし、うちのゲームPCは、ベッドサイドで操作している場合、ウインドウの出ているモニターが見える位置にないので、マウスで移動させることもできません。
で、例によってググってみたら、ショートカットキーが用意されていました。

Windows ロゴ キー + Shift + ←または→
複数のモニターを同時に使っている場合、開いているウィンドウを別のモニターに瞬時に移動できます。

Windows ヘルプ - 20 個の重要な PC ショートカット

Windows+Shift+→もしくはWindows+Shift+←で、アクティブになっている最前面ウインドウを他のモニターに移動することができ、矢印の方向により、←がモニタ番号が減る方向に、→がモニタ番号が増える方向に、それぞれ移動します。移動先のモニター番号が0になったりモニター台数を超えたりする場合は反対側にループしているので、デュアルモニターの場合はどちらを使っても同じ動作です。
ちなみにWindows+→やWindows+←はAeroスナップのショートカットキーで、動作が違うので注意。ウインドウのモニター間移動はShiftキーを押しながら、です。
これで少なくともウチの環境では、デュアルモニターに関連する問題は無くなりました。使いこなせているかといえば微妙なところですが、それはそれということで。

*1:昔は「めくら打ち」(漢字変換すると「盲打ち」になります)とか言ったんですが、「めくら」が差別用語だそうで、今時はこの言い回しは敬遠されているとか。

*2:Windows 10だとディスプレイ設定の項のショートカットキーがDなので重複していました。

*3:マルチディスプレイにM、PC画面のみにP、セカンドスクリーンのみにS、複製にC、拡張にEを割り当てました。要望があれば改造版をアップしますが、.regファイルをテキストエディタ(メモ帳でも可)で開いて、マルチディスプレイの部分を参考にして、ショートカットキーにしたい文字を変更したり書き足したりするだけなので簡単です。

*4:最初にWindows+Dキーでデスクトップを表示しておけば、続けてメニューキーを押すことで目的のコンテキストメニューが開きます。

*5:もちろんメニューからずっと参照されるので、一時置きではなく、削除されない場所に展開してください。

*6:ちなみにパス文字列に含まれる「\」は「\\」に置き換えないとダメです。元の.regで言えば"Icon"=の指定の部分が参考になるかと。