Windows10锁屏状态下如何让PyAutoGUI持续执行?
Windows10锁屏下让PyAutoGUI持续运行的解决办法
为什么锁屏后失效
Windows锁屏时会把当前用户的桌面会话挂起,PyAutoGUI这类工具是模拟用户在活跃桌面的操作,没有可用的桌面会话,自然没法和窗口交互执行命令。
三种可行解决思路
1. 用Windows任务计划程序跑脚本
- 打开任务计划程序,创建新任务:
- 「常规」标签:勾选「不管用户是否登录都要运行」+「使用最高权限运行」
- 「触发器」:设置脚本启动的条件(比如定时、开机自动跑)
- 「操作」:添加启动命令,格式类似
python "C:\你的脚本路径\test.py"
- 这种方式会让脚本在系统会话里运行,不受用户锁屏、注销影响,但要注意:如果脚本里必须操作窗口,得确保目标程序(比如记事本)也在系统会话中启动,不然还是找不到窗口
2. 保持桌面会话不被挂起
- 别用系统自带的锁屏功能,改用屏幕保护程序且不勾选「恢复时显示登录屏幕」,这样屏幕看起来是“锁了”,但桌面会话还活跃
- 或者用远程桌面连接本机:哪怕物理屏幕锁屏,远程会话里的桌面依然是活跃状态,PyAutoGUI能正常干活
- 也可以用脚本临时禁用系统锁屏:
import ctypes # 阻止系统进入睡眠/锁屏状态 ctypes.windll.user32.SetThreadExecutionState(0x80000002)
3. 跳过GUI,直接操作文件(最推荐)
你的脚本是往记事本里写内容,完全没必要模拟GUI操作,直接用Python操作文件就行,锁屏也不影响:
def buscar_test(): # 替换成你的datos_carga.txt实际路径 file_path = r"C:\Users\你的用户名\Desktop\datos_carga.txt" with open(file_path, "a", encoding="utf-8") as f: f.write("Hello world\n") import time time.sleep(30) f.write("Hello after windows locked\n")
这种方式完全不依赖桌面会话,是最稳定的解决办法
内容的提问来源于stack exchange,提问作者philip Gue
相关产品推荐
相关产品推荐

