WindowsでメインモニタだけHDRを切り替えるスクリプトの作り方

プログラミング

Windows 10/11でHDRのオンオフを切り替えたい場合、標準のショートカットキー(Win+Alt+B)では全てのモニタに適用されます。メインモニタだけを切り替えたい場合は、PowerShellやコマンドラインを使った方法で制御することが可能です。本記事では、メインモニタ専用のHDR切り替えスクリプトの作成方法を解説します。

HDR設定の仕組みと制御方法

WindowsではHDR設定はレジストリやWMI、Display Config APIを介して管理されています。モニタごとの設定は通常GUIからは変更できませんが、DisplayConfigやDPI関連のAPIを用いることで個別制御が可能です。

PowerShellではDisplayConfig APIを呼び出して、特定のモニタIDにのみHDR設定を適用することができます。

PowerShellスクリプトの作成例

1. Get-CimInstanceやGet-WmiObjectで接続されているディスプレイ情報を取得

2. メインモニタを識別するためにPrimaryモニタの情報をフィルタ

3. Set-DisplayHDRを呼び出して、特定モニタのHDRをオン/オフ

例:Set-DisplayHDR -MonitorId $primaryMonitorId -Enable $true

注意点と互換性

HDR切り替えはモニタやドライバに依存するため、全ての機種で動作するわけではありません。また、管理者権限でスクリプトを実行する必要がある場合があります。

不具合を防ぐため、事前にモニタの情報を確認し、テスト環境で動作確認を行うことを推奨します。

自動化とショートカット化

作成したPowerShellスクリプトは、タスクスケジューラやショートカットキーに割り当てることで、ワンクリックでメインモニタのHDRを切り替え可能です。

例えば、デスクトップショートカットにpowershell.exe -File "C:\Scripts\ToggleHDR.ps1"を設定することで、即座に切り替えられます。

まとめ

WindowsでメインモニタだけHDRを切り替えるには、PowerShellでDisplayConfig APIやWMIを使用してモニタIDを指定する方法が有効です。スクリプト化してショートカット化することで、全モニタに影響させずにHDRを個別に制御できます。

コメント

タイトルとURLをコピーしました