如何在不首先尝试失败的情况下检查启动子流程是否需要privelege提升?
我需要从python代码中启动一个子进程命令。在某些情况下,它工作正常,在其他情况下,事实证明需要提升的priveleges;在某些Windows系统上,这种情况导致程序冻结。
我想确定是否需要更新privelege升级而不尝试首先运行子进程并捕获/捕获任何错误条件。
使用;
调用导致程序冻结的过程subprocess.call('path _ filename _ options',shell = False)
答案 0 :(得分:3)
使用pywin32,类似下面的内容应该有效......:
import pythoncom import pywintypes import win32api from win32com.shell import shell if shell.IsUserAnAdmin(): ...
是的,似乎pywin32支持Python 3。
这也适用于没有pywin32的人。
import ctypes
print ctypes.windll.shell32.IsUserAnAdmin()