Orc: OrchestratorRerunAsAdmin save the prev process env

dev-fastapi
Ivan Maslov 2 years ago
parent b1e6932180
commit 90577582af

@ -647,10 +647,14 @@ def OrchestratorRerunAsAdmin():
:return: True - Запущен с правами администратора; False - Не запущен с правами администратора :return: True - Запущен с правами администратора; False - Не запущен с правами администратора
""" """
if not OrchestratorIsAdmin(): if not OrchestratorIsAdmin():
# Re-run the program with admin rights if "PYTHON_CONFIGURE" in os.environ:
ctypes.windll.shell32.ShellExecuteW(None, "runas", sys.executable, " ".join(sys.argv), None, 1) # Re-run the program with admin rights
ctypes.windll.shell32.ShellExecuteW(None, "runas", "cmd", " ".join(["/C", "cd", f'"{os.getcwd()}"', "&&",f'"{os.environ["PYTHON_CONFIGURE"]}"',sys.executable]+sys.argv), None, 1)
else:
# Re-run the program with admin rights
ctypes.windll.shell32.ShellExecuteW(None, "runas", "cmd", " ".join(["/C", "cd", f'"{os.getcwd()}"', "&&", sys.executable,sys.argv]), None, 1)
else: else:
print(f"Уже запущено с правами администратора!") print(f"Уже запущено с правами администратора!")
def OrchestratorPySearchInit(inGlobPatternStr, inDefStr = None, inDefArgNameGSettingsStr = None, inAsyncInitBool = False, inPackageLevelInt = 0): def OrchestratorPySearchInit(inGlobPatternStr, inDefStr = None, inDefArgNameGSettingsStr = None, inAsyncInitBool = False, inPackageLevelInt = 0):
"""L+,W+: Выполнить поиск и инициализацию пользовательских .py файлов в Оркестраторе (например панелей управления роботов) """L+,W+: Выполнить поиск и инициализацию пользовательских .py файлов в Оркестраторе (например панелей управления роботов)

Loading…
Cancel
Save