powershell - 更改"Windows 字体大小( DPI ) 中的"?

  显示原文与译文双语对照的内容
58 5

我在 Office ( Windows 7 ) 使用一台笔记本电脑,一个站和双屏幕,在家里没有站。
要点是每次我从站到笔记本时都要更改文本大小,因为在我的双屏幕上文本大小太大,而笔记本屏幕上太小。

要继续:
右键单击桌面屏幕,选择更改分辨率然后选择"使文本和其他元素更大或者更小"选择 100%,125 % 等等 。
我需要重新启动会话以获得所应用的设置。( 注:我使用的是法语系统,文本在我们的版本中并非完全相同) 。

这不是很方便,因这里我想要自动化这个,也许是一个powershell脚本。
理想情况下,脚本可以能会检测到我是单独使用笔记本电脑还是使用两个屏幕的站点。另外,没有会话重启( 我怀疑最后一点是 feasable ) 。

谁有什么想法让我开始?如果可能的话。

时间:原作者:0个回答

128 3

正如它的他答案中所示,is下的设置不是正确的位置,因为lte扩展是用户定义的设置。正确的注册表项是 HKCU:Control PanelDesktop,其值为 LogPixels

有关所有dpi相关注册表设置的更多信息,请在这里找到:http://technet.microsoft.com/en-us/library/dn528846.aspx#system

我写了一个小的PowerShell脚本,根据当前缩放,更改DPI缩放,使用用户注销执行脚本。

cd 'HKCU:Control PanelDesktop'
$val = Get-ItemProperty -Path. -Name"LogPixels"
if($val.LogPixels -ne 96)
{
 Write-Host 'Change to 100%/96 dpi'
 Set-ItemProperty -Path. -Name LogPixels -Value 96
} else {
 Write-Host 'Change to 150%/144 dpi'
 Set-ItemProperty -Path. -Name LogPixels -Value 144
}
logoff;exit
原作者:
79 0

显然,你可以设置 LogPixels 属性

HKLM:/Software/Microsoft/Windows NT/CurrentVersion/FontDPI

在网络周围的许多地方被重复。但是,我得到的印象是dpi是一个用户设置,在HKLM下是没有意义的。

原作者:
82 3

抱歉,我误解了这个问题。我以为你是wante控制了 PowerShell Windows 。

如前所述,可以以在注册表中设置LogPixels设置,以查看当前设置是什么,请尝试:

Get-Item -Path Registry::'HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionFontDPI' | Select-Object -ExpandProperty Property

如果LogPixels键存在,它将显示,如果它不存在,你可以创建它:

Set-Item -Path 'HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionFontDPILogPixels'

你必须使用允许你操作注册表的特权运行这里操作。

这里有一个很好的介绍

原作者:
...