私は自宅のコンピューターのさまざまな側面を自動化するスマートフォン用アプリを開発中です。その 1 つは、work
環境とhome
環境を切り替えることです。この 2 つの環境を切り替えるには、主にモニター構成の変更が必要です (可能な場合はサウンド出力も変更します)。
マシンに 3 台のモニターが接続されており、私のwork
環境ではモニター 1 と 2 のみをアクティブにしたいのですが、home
環境ではモニター 3 のみをアクティブにしたいのです。
これを自動化する方法を見つけるのに苦労しています。NirSoft スイート (MonitorInfoTool および MultiMonitorTool) を含むいくつかの異なるツールを試しました。ただし、私が見つけた各ツールには 1 つの重大な欠陥があるようです。ID が一意ではない (つまり、モニター構成を変更するたびに変更される) か、まったく間違っているかのどちらかです。
MonitorInfoTool: 多くの場合、2 つのモニターを混同し、実際にはモニター 2 と 3 がアクティブであるにもかかわらず、モニター 1 と 3 がアクティブであると表示されます (これは望ましい構成ではないことはわかっていますが、試してみました)。
MultiMonitorTool: 固有の識別子がありません。最も近いのは \\.\DISPLAYX 識別子で、モニター構成が変更されるとランダムに割り当てられるようです。このツールにはモニター構成の読み込み/保存機能もありますが、機能しないことがよくあります。
調べてみると、これは主に Windows 7 の問題であるようです。Microsoft は、他のプログラムのモニターを識別する簡単な方法を作成しなかっただけです。
Windows 7 でモニター構成を確実に切り替えることができた人はいますか? Windows 7 で、切り替え用の何らかの識別子 (つまり \\.\DISPLAYX id) を人間が判読可能な (または半判読可能な) 名前に確実にマッピングできた人はいますか?