2011/02/06 - マルチディスプレイアプリを作る

しばらくノート+外付けのマルチディスプレイにしているが,使わないときはサブディスプレイの輝度を落とせたらなあ,とか思った。つまりマウスがあるディスプレイだけ明るくて他のディスプレイは暗いという。で検索してみたけどそんなソフトは皆無だったので作ってみた。

最初,Win32 APIのSetMonitorBrightnessでできると思ってC++で作ってみたのだが,外付けのナナオはOKなもののDELLノートのディスプレイがGetMonitorCapabilitiesで失敗を返す。ヘルプだとDDC/CIに対応してないとダメって書いてあるので多分ダメなんだろう。

次にWMIのWmiMonitorBrightnessでできそうなのでC#で作ってみた。こっちだとDELLノートのディスプレイはコントロールできるが逆に外付けのナナオは不可。WmiMonitorIDはちゃんと2台分返してくるのだがWmiMonitorBrightnessは1つしか返ってこない。

結局,外付けの方は暗くならなくてもいいや的な感じでマウスのフックとかタスクトレイアイコンとか作って完成。まともなテストはしてないけど一応公開。ActiveMonitor

コメントする