Vistaで画面解像度を固定する

Vistaで画面解像度を固定する方法を、ひょんなことから見つけた。

OSをVistaにしてから困っていることが幾つかあるが、その一つはKVMスイッチ(俗に言うCPU切換え器とかPC切換え器)で他のPCに行って戻ってくると画面サイズがVGA(800x640)になってしまっていることだ。プラグ&プレイ機能でディスプレが外れると自動的に基本解像度へ換わってしまうようだ。ディスプレをVistaのPCへ再接続すると基本的には自動的に元の1280x1024に復帰はしてくれるものの、(1)高解像度に復帰するまでの5秒程度、待たなければならないこと、(2)たまに低解像度のまま高解像度に戻らないことがあること、が悩ましい。(2)の状態になる確率は感覚的に10回に1回以上ある感じで、精神的にも良くない。

もっともVistaが悪いというよりは、私の使っているIntel G45のグラフィックプロセッサのドライバ(と付属する設定ツール)がボロイと言うべきかも知れない。インテル純正のドライバ&ソフトだが、設定画面もどうも今ひとつ。(このあたりはnVidiaの様な専用チップメーカーのツールの方が良く出来ていると思う。)

画面設定ツールの端から端まで探したが、Plug and Playに頼らず画面の解像度を固定する設定は無かった。仕方ないのでレジストリでもいじってみようと、
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\0001\System\CurrentControlSet\Control\VIDEO\{UUID}\0000
にある
DefaultSettings.FixedOutput
を“1”にしても、KVMスイッチを操作すると画面サイズが変わって、DefaultSettings.FixedOutputの値も(自動的に?)“0”に戻ってしまう。

ほとんど諦めたこと、別の設定をしていてひょんなことから解決してしまった。他のPCからアクセスできるようにとUltraVNCをインストールしたら、ディスプレのPnPも機能しなくなった。どうもVNC Serverがドライバをフックしてくれているために、実ディスプレが無くなっても元の状態を保持しているようだ(未確認)。

まぁ、技術的な詳細理由は分からないが、とにかく悩みが一つ無くなったので嬉しい。