我遇到了一个名为 nircmd 的 Windows exe,它允许您通过命令行做一些非常酷的事情。我有一个我正在协助的项目,我需要即时调整 Windows 环境的大小,采用最大化的内容并在调整大小后使其最大化。在互联网上搜索时,我偶然发现了 nircmd 很多,但我似乎无法获得我需要工作的功能来处理它。这是:
setdisplay 800 600 24
Run Code Online (Sandbox Code Playgroud)
我在 nircmd 中尝试了使用此功能的所有不同选项,但它在 Windows 7 环境和 Windows Server 上都没有任何作用。我在谷歌上搜索了“nircmd setdisplay 不工作”或“nircmd setdisplay 错误”等,但在互联网上找不到任何关于它的信息。我觉得这很奇怪,因为我已经在我的台式机、笔记本电脑和 Windows 服务器上测试过它,而这 3 个都没有做。
任何人都可以帮助我解决我可能做错的事情吗?或者指向命令行驱动的方向,即时分辨率更改程序?(我也试过 QRes,结果相同,但 Windows Server 给了我一个错误(我现在不记得了)。它必须是命令行驱动的,因为这是一个简单的函数,将在里面一个 php 文件,最后只有少数人访问。
小智 5
尝试:
nircmd.exe setdisplay 800 600 32
Run Code Online (Sandbox Code Playgroud)
或者
nircmd.exe setdisplay 800 600 16
Run Code Online (Sandbox Code Playgroud)
小智 5
为了完善 Matthew 的答案,关键是许多最新的显卡在某些分辨率下不接受 24 位的颜色深度,大多数都使用 32 位。这将解释为什么nircmd.exe setdisplay 800 600 32会起作用但nircmd.exe setdisplay 800 600 24不会。在这种情况下,Nircmd 不会回复错误代码,命令会被接受,但显示屏上不会发生任何变化。
此外,Nircmd 文档中的所有示例均指的是 24 位或 8 位,这可能会导致一些挫败感,直到您尝试使用 32 位。