如何判断启动进程是否需要提升权限,而不通过失败检查
我想知道怎么检查启动一个子进程是否需要提升权限,而不是先尝试一下再失败。
我需要在Python代码中启动一个子进程命令。在某些情况下,这个命令可以正常运行,但在其他情况下却需要更高的权限;而在某些Windows系统上,这种情况会导致我的程序卡住。
我希望能在不先尝试运行子进程的情况下,判断是否需要提升权限,也不想捕捉或处理任何错误。
导致程序卡住的进程是通过以下方式调用的:
subprocess.call('path _ filename _ options',shell=False)
1 个回答
4
使用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()