Windows使用Python注销

时间:2012-01-10 11:12:20

标签: python logout logoff

我应该使用哪个Python函数来注销当前用户。 我找到了一个锁定我的电脑的例子,比如Win + L组合

ctypes.windll.user32.LockWorkStation()

但是我需要一个类似的功能,它会注销。

3 个答案:

答案 0 :(得分:1)

试试os.system("shutdown -l")

shutdown -l是用于注销的Windows shell命令

答案 1 :(得分:1)

这应该导致当前用户注销:

ctypes.windll.user32.ExitWindowsEx(0, 1)

Ctypes应该能够毫无问题地将这些参数转换为无符号整数。如果它引发有关参数类型的错误,请尝试包装0和1,如下所示:ctypes.c_ulong(0)

此处记录:ExitWindowsEx

附注:如果你练习退出活跃用户而没有用对话框提示他们(即使它有60秒或计时器),他们可能会非常不满意。

答案 2 :(得分:0)

您可以执行此操作,但仅作为以SYSTEM用户身份运行的服务。如果您尝试注销正在运行的用户,您将终止脚本(无论您如何完成此操作,当前任务将在用户环境终止时终止)。

但是,如果您编写备份以用作服务,则可以使用win32api(通过pywin32)终止所有用户会话(这不是很好,但我们可以假设您的用户可以使用)然后做备份。如果用户重新登录,则会出现问题 - 您必须捕获用户登录事件 - 否则这是相对无痛的。