Windows 10 でディスプレイ解像度設定を変更しようとすると、以下のような確認が表示されます:
意図しない変更による失敗を防ぐ機能と思われますが、頻繁に解像度設定を変更する場合には不便です。
コマンドラインから強制的に変更したいところですが、PowerShell には標準で解像度を制御するコマンドレットがありません。直接 Win32API をコールしてもよいですが、ここは先人の知恵をお借りして楽をしましょう。
ScreenResolutionChangerEx を利用する
ScreenResolutionChangerEx とは、Timothy Mui 氏が公開している解像度変更ツールで、PowerShell 関数も含まれています。この大本となる ScreenResolutionChanger は Andy Schneider 氏が TechNet ギャラリーで配布していたものですが、現在は入手できなくなっているようです。
利用方法は簡単で、該当の PowerShell モジュールをインポートし、Set-ScreenResolutionEx
関数を呼び出すだけです。
# Set-ScreenResolutionEx 関数をインポートする
. ".\\Set-ScreenResolutionEx.ps1"
# Set-ScreenResolutionEx -Width <横幅> -Height <縦幅> -DeviceID <ディスプレイ番号(0ベース)>
Set-ScreenResolutionEx -Width 1920 -Height 1080 -DeviceID 0