有些桌面热键不需要写成完整工具,只要保留一两行能直接复用的代码就够了。这篇整理两个很实用的小动作:临时关闭显示器,以及快速显示桌面。

关闭显示器

第一行代码会向桌面发送 WM_SYSCOMMAND 消息,并使用 SC_MONITORPOWER 控制显示器状态。参数改成不同数值,可以切换关闭、节能或重新打开显示器。

  • 2:关闭显示器。
  • 1:进入节能模式。
  • -1:重新打开显示器。

这和锁屏、睡眠、关机不是一回事。脚本只是让显示器暂时熄灭,电脑仍然继续运行。鼠标、键盘或硬件行为也可能让屏幕再次亮起。

快速显示桌面

Shell.ApplicationToggleDesktop() 会切换桌面显示状态:第一次调用相当于显示桌面,再调用一次会恢复原来的窗口。适合放在热键、托盘菜单或桌面小工具里。

代码示例

SendMessage, 0x112, 0xF170, 2, , Program Manager  ; 0x0112 是 WM_SYSCOMMAND, 0xF170 是 SC_MONITORPOWER.
; 对上面命令的注释: 使用 -1 代替 2 来打开显示器.
; 使用 1 代替 2 来激活显示器的节能模式.

; 更多参数:https://docs.microsoft.com/zh-cn/windows/win32/menurc/wm-syscommand?redirectedfrom=MSDN

ComObjCreate("Shell.Application").ToggleDesktop()

 

站内延伸

声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。