You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows 10 Surface Pro 5中PowerShell命令$monitor.CurrentHorizontalResolution无返回值

在Surface Pro 5 Windows 10中$monitor.CurrentHorizontalResolution无输出无报错的原因及解决办法

我来帮你拆解这个问题——在Surface Pro 5的Windows 10环境里运行$monitor.CurrentHorizontalResolution既没结果也没报错,通常是下面这几种情况导致的,对应的解决办法也给你整理好了:

原因1:$monitor变量未正确获取显示器对象

你可能只是凭空定义了$monitor变量,但没有通过正确的PowerShell命令获取到系统的显示器实例。Win32_DesktopMonitor类需要你主动调用获取,否则变量里是空的或者无效对象,自然不会有输出也不会报错。

解决办法:

先执行正确的命令获取显示器对象,再访问分辨率属性:

# 用CIM命令(推荐,WMI的替代方案)获取显示器实例
$monitor = Get-CimInstance -ClassName Win32_DesktopMonitor
# 查看所有显示器的横向分辨率
$monitor | Select-Object CurrentHorizontalResolution, DeviceID

如果你的Surface Pro 5只有一个屏幕,也可以直接取第一个实例:

$monitor = (Get-CimInstance -ClassName Win32_DesktopMonitor)[0]
$monitor.CurrentHorizontalResolution

原因2:Win32_DesktopMonitor类对平板设备兼容性有限

Surface Pro 5本质是平板二合一设备,Win32_DesktopMonitor这个WMI类更适配传统台式显示器,对于平板的集成显示屏,可能无法正确读取分辨率这类属性,导致返回空值但不报错。

解决办法:

换用更适合移动/集成显示设备的WMI类来获取分辨率,比如Win32_VideoController:

# 获取视频控制器实例,读取当前分辨率
$videoController = Get-CimInstance -ClassName Win32_VideoController
$videoController | Select-Object CurrentHorizontalResolution, CurrentVerticalResolution, Name

另外,你也可以通过读取系统显示设置的方式来获取,比如调用Windows API相关的PowerShell命令:

# 通过System.Windows.Forms获取屏幕分辨率(需要加载对应的程序集)
Add-Type -AssemblyName System.Windows.Forms
[System.Windows.Forms.Screen]::PrimaryScreen.Bounds.Width

原因3:PowerShell权限不足(少见但可能)

虽然这种情况通常会抛出权限错误,但极少数情况下,非管理员权限的PowerShell可能无法访问某些硬件相关的WMI属性,导致返回空值。

解决办法:

右键点击PowerShell,选择「以管理员身份运行」,然后重新执行获取显示器对象和读取分辨率的命令,看是否能正常返回结果。

内容的提问来源于stack exchange,提问作者user310291

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 07:21:51