|
|
发表于 2025-10-7 13:13:06
|
显示全部楼层
本帖最后由 aloha20200628 于 2025-10-7 13:46 编辑
批处通过mshta脚本调用网页属性值可直接获取当前屏幕分辨率,但仅为取值则会突显其产生屏闪的缺陷。因此可选用 wmic 和 powershell 方法,但前者采用 desktopmonitor 通道获取可能会有系统兼容性问题,采用 Win32_VideoController 通道获取比较稳妥;powershell 方法就是首启速度略慢,以下是三段批处示例代码...
一。mshta 版本
- @echo off & for /f "tokens=1-2 delims=," %%a in ('mshta "javascript:new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(screen.width+','+screen.height);close();" ') do (set/a "w=%%a,h=%%b")
- echo,w=%w%,h=%h%&pause&exit/b
复制代码 二。wmic 版本
- @echo off &for /f "tokens=1-2 delims= " %%a in (
- 'wmic path Win32_VideoController get CurrentHorizontalResolution^,CurrentVerticalResolution'
- ) do (set/a "w=%%a,h=%%b" 2>nul)
- echo,w=%w%,h=%h%&pause&exit/b
复制代码 三。powershell 版本
- @echo off &for /f "tokens=1-2 delims=," %%a in (
- 'powershell "$g=Get-WmiObject win32_videocontroller;''+$g.CurrentHorizontalResolution+','+$g.CurrentVerticalResolution" ') do (set/a "w=%%a,h=%%b")
- echo,w=%w%,h=%h%&pause&exit/b
复制代码 |
|