レジストリをコマンドラインで操作する方法。
レジストリ操作はpowershellネイティブのコマンドレットだと操作しずらいように感じたので通常はコマンドプロンプトから呼び出すreg.exeコマンドをpowershellから呼び出して使ってみました。
ウィンドウのタイトルバーの背景色を変更
以下の1-3のコマンドをPowershellで実行するとタイトルバーの背景色を変更できます。
1.ウィンドウのタイトルバーの背景色を有効化
powershell.ps1
$reg_path = "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\DWM"
$reg_name = "ColorPrevalence"
$reg_type = "REG_DWORD"
#有効化
reg add $reg_path /V $reg_name /T $reg_type /d "0x1"
#設定値の確認
reg query $reg_path /V $reg_name /T $reg_type
2.アクセントカラーを指定
powershell.ps1
$reg_path = "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\DWM"
$reg_name = "AccentColor"
$reg_type = "REG_DWORD"
#赤にする
reg add $reg_path /V $reg_name /T $reg_type /d "0xff0000ff"
#緑にする
reg add $reg_path /V $reg_name /T $reg_type /d "0xff00ff00"
#青にする
reg add $reg_path /V $reg_name /T $reg_type /d "0xffff0000"
#黄色にする
reg add $reg_path /V $reg_name /T $reg_type /d "0xff00b9ff"
#設定値の確認
reg query $reg_path /V $reg_name /T $reg_type
0xff + 青 + 緑 + 赤の順に指定する。普通(Red Green Blue 形式)と逆。
3.透明効果を無効化
powershell.ps1
$reg_path = "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize"
$reg_name = "EnableTransparency"
$reg_type = "REG_DWORD"
#無効化
reg add $reg_path /V $reg_name /T $reg_type /d "0x0"
#設定値の確認
reg query $reg_path /V $reg_name /T $reg_type
【参考】regコマンドでなくpowershellコマンドレットの場合
powershell.ps1
$reg_path = "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize"
$reg_name = "EnableTransparency"
#有効化
Set-ItemProperty ($reg_path ) -Name $reg_name -Value 1
#設定値の確認
Get-ItemProperty ($reg_path ) -Name $reg_name
【参考】スタートメニュー・タスクバーの色の有効化
タスクバーの色は何故かレジストリ設定変更だけではうまくいかない。
上記1-3のコマンドを実行した後で更に以下を実行
powershell.ps1
$reg_path = "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize"
$reg_name = "ColorPrevalence"
$reg_type = "REG_DWORD"
#有効化
reg add $reg_path /V $reg_name /T $reg_type /d "0x1"
#設定値の確認
reg query $reg_path /V $reg_name /T $reg_type
その後、GUIで
デスクトップ右クリック⇒個人用設定⇒色 からアクセントカラーを選ぶとタスクバーの色も変更された。
補足
(1)各ユーザのカスタマイズしたテーマの保存場所
C:\Users\ユーザ名\AppData\Local\Microsoft\Windows\Themes\Custom.theme
(2)テーマ指定に関するローカルグループポリシー
カスタマイズしたThemeを読み込ませるポリシーをコンピュータの全ユーザに適用
Local Compute Policy → User Configuration → Administractive Templates → Control Panel → Personalization → Load a spcific theme
参考文献
元大雑把SEの雑記ブログ/レジストリの変更をコマンドで実行する方法