tjw*_*992 4 powershell winapi screen-resolution winforms
我刚刚编写了一个简单的 PowerShell 脚本来获取显示器的屏幕分辨率,但它似乎返回了错误的值。
# Returns an screen width and screen height of maximum screen resolution
function Get-ScreenSize {
$screen = [System.Windows.Forms.Screen]::PrimaryScreen
$width = $screen.Bounds.Width
$height = $screen.Bounds.Height
return $width, $height
}
Get-ScreenSize
Run Code Online (Sandbox Code Playgroud)
我在分辨率设置为 3840 x 2160 的 4k 显示器上运行此脚本,但它给出以下输出:
1536
第864章
是否有什么因素会导致System.Windows.Forms.Screen
得到错误的“边界”值?
好吧,我并没有确切地弄清楚为什么我会得到如此奇怪的结果......但我确实找到了另一种方法,实际上看起来更简单并且似乎是准确的。
$vc = Get-WmiObject -class "Win32_VideoController"
$vc.CurrentHorizontalResolution
$vc.CurrentVerticalResolution
Run Code Online (Sandbox Code Playgroud)
这将打印当前的屏幕分辨率,并且似乎给我提供了准确的结果,这正是我真正想要的。如果有人弄清楚什么可能导致其他方法产生不准确的结果,我仍然很想知道为什么会发生这种情况......
归档时间: |
|
查看次数: |
3609 次 |
最近记录: |