【发布时间】:2019-10-05 05:27:28
【问题描述】:
有没有办法通过 Windows 上的 Python 脚本锁定 PC?
我不想自己实现某种锁定 - 我想使用与用户按下 WIN+L时相同的锁定屏幕> 或通过开始菜单锁定机器。
【问题讨论】:
有没有办法通过 Windows 上的 Python 脚本锁定 PC?
我不想自己实现某种锁定 - 我想使用与用户按下 WIN+L时相同的锁定屏幕> 或通过开始菜单锁定机器。
【问题讨论】:
这可以通过 user32.dll 中的 LockWorkStation() 函数来完成:
此功能与按 Ctrl+Alt+Del 并单击锁定工作站的结果相同。
在 Python 中,可以使用 Python 标准库中的 ctypes/windll FFI 调用它:
import ctypes
ctypes.windll.user32.LockWorkStation()
【讨论】:
让我们避免使用库/DLL 文件的一个很好的解决方案是使用命令提示符/power shell。
尝试在您的 cmd 中运行此命令 rundll32.exe user32.dll, LockWorkStation....PC 已锁定!!
所以我们可以像这样使用 subprocess 来运行这个命令:
import subprocess
cmd='rundll32.exe user32.dll, LockWorkStation'
subprocess.call(cmd)
【讨论】:
shell=True - 这里绝对不需要这个。
subprocess.call() 应该使用数组(命令和参数)而不是字符串来调用。