我已经使用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")
这将从注册表中获取登录的用户名,而不是从运行进程的用户中获取的特权令牌。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句