import ctypes import sys from elevate import elevate def is_admin(): try: return ctypes.windll.shell32.IsUserAnAdmin() except: return False def run_as_admin_old(argv=None): shell32 = ctypes.windll.shell32 if argv is None and shell32.IsUserAnAdmin(): return True if argv is None: argv = sys.argv if hasattr(sys, '_MEIPASS'): # Support pyinstaller wrapped program. arguments = argv[1:] else: arguments = argv argument_line = u' '.join(arguments) executable = sys.executable ret = shell32.ShellExecuteW(None, u"runas", executable, argument_line, None, 1) if int(ret) <= 32: return False return None def run_as_admin(): elevate()