Intro
Привет, сценарий python работает со слабыми привилегиями на компьютере windows 10.
Как использовать повышение в python для запуска в качестве администратора, без создания отдельного процесса / окна?
Код
Вот что я получил до сих пор:
import ctypes, sys
def is_admin():
try:
return ctypes.windll.shell32.IsUserAnAdmin()
except:
return False
if is_admin():
print(ctypes.windll.shell32.IsUserAnAdmin())
print("hi im admin")
input("[ENTER]")
else:
print(ctypes.windll.shell32.IsUserAnAdmin())
print("Low priv user, elevating")
ctypes.windll.shell32.ShellExecuteW(None, "runas", sys.executable, __file__, None, 1)
Итак, вы видите, мы используем ctypes.windll.shell32.IsUserAnAdmin()
, чтобы проверить, администратор или нет, а затем используйте ShellExecuteW
, чтобы использовать «runas» и работать от имени администратора. это работает, но для этого открывается другое окно.
Q
Как я могу подняться в то же окно, в котором пользователь запускал?