使用引用的 DPI 类脚本这里我可以为我的主显示器获取 DPI 缩放,如何从任何可能具有单独缩放因子的其他显示器获取输出?
答案1
我正在使用 powershell 7 并使用以下代码:
Add-Type -AssemblyName System.Windows.Forms
$rh=[int]((Get-CimInstance -ClassName CIM_Display).ScreenHeight | Format-Table -HideTableHeaders | Out-String)
$vh=[int][System.Windows.Forms.SystemInformation]::VirtualScreen.Height
$screen_scale_factor=$rh/$vh
更好的是
Add-Type -AssemblyName System.Windows.Forms
# $rh=[int]((Get-CimInstance -ClassName CIM_Display).ScreenHeight | Format-Table -HideTableHeaders | Out-String)
$rh=[int](Get-CimInstance -ClassName Win32_VideoController)[0].CurrentVerticalResolution
$vh=[int][System.Windows.Forms.SystemInformation]::VirtualScreen.Height
$screen_scale_factor=$rh/$vh
您可以迭代 VideoController 数组并为每个监视器获取相同的值。