使用python脚本设置自动关闭显示屏和关闭屏幕并锁屏

NO.1
使用场景

使用向日葵远程连接电脑,休眠状态下无法正常连接

使用双屏显示器的物理按键锁屏,又相对繁琐

一个按钮在显示屏后面,一个按钮在显示屏底部,开机也特别麻烦

可以使用python脚本来解决

NO.2
使用ctypes

这个库python自带,无需下载

文档地址

https://docs.python.org/zh-cn/3.9/library/ctypes.html

NO.3
仅关闭显示屏

参考以下代码

from ctypes import *

HWND_BROADCAST = 0xffff
WM_SYSCOMMAND = 0x0112
SC_MONITORPOWER = 0xF170
MonitorPowerOff = 2
SW_SHOW = 5


def screenOff():
    windll.user32.PostMessageW(HWND_BROADCAST, WM_SYSCOMMAND,
                               SC_MONITORPOWER, MonitorPowerOff)

    shell32 = windll.LoadLibrary("shell32.dll")
    shell32.ShellExecuteW(None, 'open', 'rundll32.exe',
                          'USER32', '', SW_SHOW)


if __name__ == "__main__":
    screenOff()

运行可查看效果,经测试,win10 64有效

NO.4
关闭屏幕并锁定屏幕

唤醒后需要输入密码

from ctypes import *

HWND_BROADCAST = 0xffff
WM_SYSCOMMAND = 0x0112
SC_MONITORPOWER = 0xF170
MonitorPowerOff = 2
SW_SHOW = 5

def main():
    windll.user32.PostMessageW(HWND_BROADCAST, WM_SYSCOMMAND,
                               SC_MONITORPOWER, MonitorPowerOff)

    shell32 = windll.LoadLibrary("shell32.dll")
    shell32.ShellExecuteW(None,'open', 'rundll32.exe',
                          'USER32,LockWorkStation','',SW_SHOW)

if __name__ == "__main__":
    main()

 

运行可查看效果,经测试,win10 64有效

NO.5
Tips

关闭屏幕节省电源,锁屏也更加安全,省去物理按钮失灵的损耗

使用python脚本,可以一键息屏,也可以设置定时息屏,也可以远程息屏

具体的功能和交互就看想要什么效果和如何代码实现了

END.