CLIから画面の解像度を変更する
Happy DARS Day!
12 月 12 日はダースの日。
ゲームのフルスクリーン表示が安定しないとき、Windows から画面解像度を変更して、ウィンドウ・ボーダーレスモードで起動したいことがあります。
ですが、Windows の解像度変更をマウスでポチポチやるのもちょっと面倒。。。
なので、PowerShell
で変更できるようにしちゃいましょう。
作業の流れ
- 解像度変更関数を用意する
- PowerShell 起動時に関数を読み込む
- 解像度を決め打ちした関数を登録する
- 関数をダブルクリックで実行できるようにする
解像度変更関数を用意する
これはもう、実績のある関数を丸パクリします。
Microsoft の Script Center > リポジトリ > デスクトップ管理 > Set-ScreenResolution からコピーします。
このファイルを set-screen-resolution.ps1
として保存しておきます(任意の名前で OK)。
私の環境ではどのマシンでも同期できるように、OneDrive
に保存しました。
PowerShell 起動時に関数を読み込む
PowerShell
は起動時に$PROFILE
の内容を読むので、この関数が自動で呼ばれるよう登録します。
まずはエディタを開きます。
start $profile
これでテキストエディタが起動すると思うので、関数を読み込むように追記します。
パスは先程保存したものに合わせてください。
# 解像度変更関数のインポート
import-module ~\OneDrive\config\win\powershell\set-screen-resolution.ps1
解像度を決め打ちした関数を登録する
あとは各環境に合わせて、変更したい解像度といつも使う解像度、それぞれに名前をつけて関数化すれば良いです。
4k
や2k
とつけたかったところですが、関数名は数字で始まることができません。Resolution(解像度)
の意味でr
を先頭に付けました。
# 4K解像度(仕事用)
function r4k(){ Set-ScreenResolution -Width 4096 -Height 2160 }
# 2K解像度(ゲーム用)
function r2k(){ Set-ScreenResolution -Width 1920 -Height 1080 }
関数をダブルクリックで実行できるようにする
PowerShell
のps1
ファイルは、ダブルクリックで実行できないようになっています。
なので、ダブルクリックで起動できる.bat
(バッチ)ファイルを作成して、その中からPowerShell
の関数をコールします。
4k.bat
を作成し、PowerShell
から関数を呼び出すように記述します。
powershell r4k
同様に、2k.bat
も作成します。
powershell r2k
これで.bat
ファイルをダブルクリックするだけで解像度を変更できますね!