Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
自动切换用户的Python脚本_Python_Windows - Fatal编程技术网

自动切换用户的Python脚本

自动切换用户的Python脚本,python,windows,Python,Windows,我正在使用windows xp。如何编写一个简单的脚本,在执行我在应用程序中设置的触发点时,自动将我从该帐户注销并登录到此计算机上的另一个帐户 请帮忙。你需要用其他帐户做什么?如果您想在另一个帐户os.system上运行一些命令,这将对您有所帮助。我将在这里冒险一试,并建议可能没有任何Python库可以直接做到这一点。相反,您需要从Python调用一些C win32函数 我认为你最好把这个问题分成两个独立的问题 第一个问题是“如何在Win32中以编程方式启动注销并以其他用户身份登录?” 一些Wi

我正在使用windows xp。如何编写一个简单的脚本,在执行我在应用程序中设置的触发点时,自动将我从该帐户注销并登录到此计算机上的另一个帐户


请帮忙。

你需要用其他帐户做什么?如果您想在另一个帐户os.system上运行一些命令,这将对您有所帮助。

我将在这里冒险一试,并建议可能没有任何Python库可以直接做到这一点。相反,您需要从Python调用一些C win32函数

我认为你最好把这个问题分成两个独立的问题

第一个问题是“如何在Win32中以编程方式启动注销并以其他用户身份登录?”

一些Windows专家有望回答这个问题,即使他们不熟悉Python

我对此不太了解,但这听起来非常雄心勃勃。触发注销可能是可能的,但触发以其他用户身份登录(可能是停下来询问用户密码)

第二个问题是“如何从Python中调用这些win32函数?”


这是一个相当常见的请求,应该有StackOverflow方面的专业知识来提供帮助。

要注销,请使用
EWX\U注销调用
ExitWindowsEx()
(0)。要在以后自动登录,请将
DefaultUserName
DefaultPassword
写入
HKLM\SOFTWARE\Microsoft\windowsnt\CurrentVersion\Winlogon
。您可能还需要将
AutoAdminLogon
设置为1。别忘了以后删除注册表项,否则它只会继续登录该用户

在python中,可以使用ctypes调用函数,并使用_winreg写入注册表

# setup login
from _winreg import *
key = OpenKey(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon', 0, KEY_ALL_ACCESS)
SetValueEx(key, "DefaultUserName", 0, REG_SZ, "username")
SetValueEx(key, "DefaultPassword", 0, REG_SZ, "password")
SetValueEx(key, "AutoAdminLogon", 0, REG_DWORD, 1)
CloseKey(key)
# logoff
import ctypes
ctypes.windll.user32.ExitWindowsEx(0,0)
第二个问题是: