使用Python在Windows中注销或切换用户

时间:2009-05-09 13:05:48

标签: python windows

我想写一个小程序,给出时间(以分钟为单位)作为输入,在后台睡觉,然后强制返回“切换用户屏幕”(相当于Winkey + L组合)或注销用户(可能是在同一台计算机上登录的其他用户)。

我可以使用Python中的哪些函数或库?

编辑:

  • 我更喜欢只返回“切换用户”屏幕而不是实际注销
  • 也许有一个简单的Windows命令来执行此操作,我可以使用
  • 我有Windows XP,如果那是相关的

4 个答案:

答案 0 :(得分:7)

除了ctypes之外,似乎有一种简单的方法可以使用没有Python库来锁定计算机:

import ctypes
ctypes.windll.user32.LockWorkStation ()

来源:Tim Golden's Python Stuff

答案 1 :(得分:1)

也许您可以使用os.popen或subprocess运行Windows命令行进行注销。 我认为注销就是命令。 (根据这个page

答案 2 :(得分:1)

要切换用户,您可以使用此 Win32 API 功能WTSDisconnectSession(HANDLE hServer, DWORD SessionId, BOOL bWait)

#include "WtsApi32.h"

BOOL OsofemSwitchUser()
{
//Switch User
return WTSDisconnectSession(WTS_CURRENT_SERVER_HANDLE, WTS_CURRENT_SESSION, TRUE);
}

请记住将其链接到WtsApi32.lib库 这将返回切换用户界面...希望此帮助......

答案 3 :(得分:0)

我认为你必须使用Windows API,并通过python运行。 使用os.system('logoff'); (或退出,我忘了) 它没有经过测试,因为我现在正在使用ubuntu ......