Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.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后获取winlows登录名_Python_Python 2.7_Py2exe - Fatal编程技术网

以其他用户身份启动python后获取winlows登录名

以其他用户身份启动python后获取winlows登录名,python,python-2.7,py2exe,Python,Python 2.7,Py2exe,我已经使用py2exe创建了python文件的exe,并使用特定的用户(用于目录访问权限)运行该exe。现在该可执行文件位于不同的登录名中,如何获取系统的用户名 getpass.getuser() os.getenv('username') 返回exe正在运行的当前用户。 如何获得用户的实际登录信息?如果我理解正确 以用户身份登录(Geoff)。Geoff以管理员用户身份运行可执行文件,您想获取Geoff的用户名吗?如果这是你要问的问题,这是我的解决方案 def getregvalue(key

我已经使用py2exe创建了python文件的exe,并使用特定的用户(用于目录访问权限)运行该exe。现在该可执行文件位于不同的登录名中,如何获取系统的用户名

getpass.getuser()
os.getenv('username')
返回exe正在运行的当前用户。
如何获得用户的实际登录信息?

如果我理解正确

以用户身份登录(Geoff)。Geoff以管理员用户身份运行可执行文件,您想获取Geoff的用户名吗?如果这是你要问的问题,这是我的解决方案

def getregvalue(key, subkey, value):

    import _winreg

    key = getattr(_winreg, key)
    handle = _winreg.OpenKey(key, subkey)
    (value, type) = _winreg.QueryValueEx(handle, value)

return value

print getregvalue("HKEY_LOCAL_MACHINE", "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon", "DefaultUserName")

这将从注册表中获取登录的用户名,而不是从运行进程的用户的特权令牌中获取。

正是我想要的,!,我看到了类似的例子,主要是指使用Win32子流程。。。但是这个解决方案是一个干净的方法来实现这一点。非常感谢。