控制台属性与注册表中PowerShell字体大小数值不匹配问题
解决PowerShell控制台注册表FontSize数值转换问题
问题原因
控制台属性里显示的字体大小,在注册表中是以32位无符号整数(DWORD)格式存储的,这个数值并非直接对应字体大小,而是包含了字体大小及其他显示相关参数:数值的高16位对应实际显示的字体大小,低16位存储其他无关配置位。
你获取到的1835025转换为十六进制是0x1C0011,其中高16位的0x1C转成十进制就是你在控制台属性里看到的28。
解决脚本
通过位运算右移16位,就能提取出实际的字体大小:
$PS5Reg = "HKCU:\Console\%SystemRoot%_System32_WindowsPowerShell_v1.0_powershell.exe" # 读取注册表中的FontSize值 $regFontSize = (Get-ItemProperty $PS5Reg).FontSize # 右移16位提取实际字体大小 $actualFontSize = $regFontSize -shr 16 # 输出结果 $actualFontSize
执行后即可得到与控制台属性显示一致的28。
内容的提问来源于stack exchange,提问作者Oprex Droid
相关产品推荐
相关产品推荐

