在Windows中使用Python注销或切换用户
我想写一个小程序,输入一个时间(以分钟为单位),然后在后台等待这个时间,最后强制返回到“切换用户”界面(就像按下Windows键+L那样),或者注销当前用户(可能还有其他用户在同一台机器上登录)。
在Python中,我可以使用哪些函数或库来实现这个功能呢?
补充说明:
- 我更喜欢直接返回到“切换用户”界面,而不是实际注销
- 也许有一个简单的Windows命令可以做到这一点,我可以使用
- 我使用的是Windows XP,如果这有关系的话
4 个回答
1
你可以试试用 os.popen 或者 subprocess 来运行 Windows 命令行,进行注销操作。我记得注销的命令是 logoff。(根据这个 页面)
2
要切换用户,你可以使用这个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
这个库。
这样做会让你回到切换用户的界面……希望这对你有帮助……
7
看起来有一种简单的方法可以锁定电脑,只需要用到ctypes这个库,不需要其他的Python库:
import ctypes
ctypes.windll.user32.LockWorkStation ()