OS: Windows 10 Pro version 1809
いつの頃からか知れないけれどもコマンドプロンプトの不透明度を変更しても次回のコマンドプロンプト起動時にひとつも反映されない。文字色やフォントは引き継がれるのに一体どうしたことなのか。
どうしても解決へ導けなかったからレジストリから直接不透明度を操作することを余儀なくされた。コマンドプロンプトウィンドウの不透明度を司るレジストリは此処である。
\HKEY_CURRENT_USER\Console\WindowAlpha
値は十進数で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で成し得る。あまり不透明度を低く設定するとただでさえ文字が朧げなところへ背景が勝ってしまって更に不明瞭になってしまうからほどほどにしておくのが良さそうである。