1. トップ
  2. 新着ニュース
  3. IT
  4. パソコン

窓辺の小石 第180回 モニター No.6

マイナビニュース / 2024年8月23日 15時51分

モニターの情報を表す仕様が複数あるのは、最初のDDC/EDIDが1994年に策定されてから、ディスプレイ技術が急速に発達し、現在でもまだ発達中だからだ。1994年当時、4KディスプレイもHDRも、HDMIもなかった。また、ヘッドマウント・ディスプレイも最近登場したものだ。モニターは、解像度や水平スキャン周波数などのタイミングデータをコンピュータ側に渡す必要があるため、新しいモニターが登場するときには、仕様が確定している必要がある。逆にいうとDDC/EDIDが登場するまで、ユーザーはモニターの正しい解像度やスキャン周波数を設定する必要があった。

ここでは、簡単にアクセスできるモニターのEDIDを取得してみよう。まず、現在接続されているモニターの一覧は、以下のコマンドで得られる(写真01)。

gcim Win32_PnPSignedDriver -filter "DeviceID like 'DISPLAY%'" | select FriendlyName,DeviceID

また、コントロールパネルのデバイスマネージャーからモニターを開いてもよい。前記のコマンドのDeviceIDは、モニターのプロパティにある「デバイスインスタンスパス」に相当する。

Windows 11がモニターから読み出したEDIDは、「HKLM:\SYSTEM\CurrentControlSet\Enum\DISPLAY\」の下にある。DISPLAYからのレジストリパスが前記のDeviceID/デバイスインスタンスパスに相当する。全てのEDID値を得るには、PowerShellで以下のコマンドを実行する。

$x=Get-ChildItem -Path 'HKLM:\SYSTEM\CurrentControlSet\Enum\DISPLAY\' -Recurse -Include 'Device Parameters' -ErrorAction SilentlyContinue | %{$t=$_.GetValue('EDID');if($t -ne $null) { [pscustomobject] @{ VPCode=($_.Name -split '\\')[5];InstanceID=($_.Name -split '\\')[6] ;EDID=$t }} }

これで変数$xにEDIDが取得できた(写真02)。$xには複数のモニターの情報が配列として格納されているので、$x[0]とすると先頭のモニターの、$x[1]で2番目のモニターの情報を取り出せる。EDIDを16進数ダンプするには、

この記事に関連するニュース

トピックスRSS

ランキング

複数ページをまたぐ記事です

記事の最終ページでミッション達成してください