嗨,FE。当您是个小孩子时,您的妈妈可有这样恼人的习惯:先回答您没有提问的问题,然后再开始讨论正题?例如,假设您说:“妈妈,我能去 Billy 家吗?”毫无疑问她会回答:“不行,如果没有成年人陪同,你不能去湖边。但是只要你们两个离湖边远点儿,就让你去 Billy 家玩。”
那很有趣吧?嗯,要是您已经忘记了,我们将帮您重开记忆之门:“不行,你不能使用脚本来更改计算机上的屏幕分辨率。你可以使用脚本来检索当前屏幕分辨率的信息,但这些信息是只读的。”
对了,要远离湖边;并且别忘了,你还有事要做!
虽然您的问题不涉及如何使用脚本来更改屏幕分辨率,但我们觉得最好是提及这个问题,免得收到过多封询问这个问题的电子邮件。(我们有可能仍然会收到上百万封询问这个问题的电子邮件,但至少我们尽力了。)不论是好是坏(当然,我们同意在这个问题上是“坏”),没有内置的方法可以使用脚本来更改屏幕分辨率。很抱歉。
但是如果您只是想检索当前的分辨率设置,情况就好办些了:
strComputer = "."
Set objWMIService = GetObject("winmgmts://" & strComputer & "/root/cimv2")
Set colItems = objWMIService.ExecQuery _
("Select * From Win32_DisplayConfiguration")
For Each objItem in colItems
Wscript.Echo "Name: " & objItem.DeviceName
Wscript.Echo "Color depth: " & objItem.BitsPerPel
Wscript.Echo "Horizontal resolution: " & objItem.PelsWidth
Wscript.Echo "Vertical resolution: " & objItem.PelsHeight
Wscript.Echo
Next
当然这是一小段简单的脚本;脚本专家也无须太费周折!我们所做的就是连接至 WMI 服务,然后使用该查询来检索 Win32_DisplayConfiguration 类中的所有实例。
Set colItems = objWMIService.ExecQuery _
("Select * From Win32_DisplayConfiguration")
然后回显各个属性的值,包括 DeviceName、BitsPerPel(颜色深度)、PelsWidth(水平分辨率)和 PelsHeight(垂直分辨率)。换句话说,属性值与下列形式类似:
Name: RADEON IGP 345M
Color depth: 32
Horizontal resolution: 1024
Vertical resolution: 768
|
脚本专家附言。术语 pels 是图像元素 (picture elements) 的缩写,通常是指像素。嘿,如果您是脚本专家,您也应该知道这些东西! |
到此您已得到了答案:检索计算机当前屏幕分辨率的方法。很高兴我们能帮助您,但这并不意味着您可以随处到湖边去玩!(嗯,我们确实很吝啬吧?但某一天您会因此感谢我们。)