コマンドプロンプトの不透明度をレジストリから操作

OS: Windows 10 Pro version 1809

いつの頃からか知れないけれどもコマンドプロンプトの不透明度を変更しても次回のコマンドプロンプト起動時にひとつも反映されない。文字色やフォントは引き継がれるのに一体どうしたことなのか。

どうしても解決へ導けなかったからレジストリから直接不透明度を操作することを余儀なくされた。コマンドプロンプトウィンドウの不透明度を司るレジストリは此処である。

\HKEY_CURRENT_USER\Console\WindowAlpha
図1. 不透明度の設定箇所

値は十進数で77~255までを取るようで、77のときが不透明度30%になり255で不透明度は100%であった。セットした値を255で除して100を乗ずれば不透明度(%)が計算できるということであった。

したがってセットしたい不透明度からWindowAlphaの値を導くには逆算して天井関数と組み合わせて下のような具合の式が成り立った。また77~255以外の値では不透明度100%として扱われる模様である。

WindowAlpha = ceil( (255 / 100) * セットしたい不透明度(%) )
            = ceil( 2.55 * セットしたい不透明度(%) )

コマンドプロンプトから一息にセットするならこういう具合である。reg query でセットした値も確認できるけれども十六進数で示されるから慣れていないと些か不自由である。

>reg add   "HKCU\Console" /v WindowAlpha /t REG_DWORD /d 179 /f
>reg query "HKCU\Console" /v WindowAlpha
 HKEY_CURRENT_USER\Console
     WindowAlpha    REG_DWORD    0x4d

30%にするなら77、50%ならば128、70%は179、90%は230で成し得る。あまり不透明度を低く設定するとただでさえ文字が朧げなところへ背景が勝ってしまって更に不明瞭になってしまうからほどほどにしておくのが良さそうである。

図2.各不透明度の具合

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください