在Windows上提升-current- python脚本的特权?

问题描述 投票:0回答:1

简介

[嗨,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()检查是否为admin,然后使用ShellExecuteW使用“ runas”并以管理员身份运行。可以,但是会打开一个不同的窗口。

Q

如何在用户开始运行的同一窗口内提升?

python python-3.x windows ctypes elevated-privileges
1个回答
-1
投票

启动新窗口后关闭旧窗口:)

© www.soinside.com 2019 - 2024. All rights reserved.