Python:如何以管理员权限启动进程?

4 投票
2 回答
30003 浏览
提问于 2025-04-16 09:42

我在Windows 7的命令行中以管理员权限启动以下脚本:

import win32com.client
import time
import SendKeys
import os
from ctypes import *

shell = win32com.client.Dispatch("WScript.Shell")

os.startfile("C:\...exe")

我还在属性 > 兼容性 > 权限级别下,把“以管理员身份运行此程序”这个选项给python.exe设置上了。但这并没有改变什么。

这个程序通过命令行启动时的表现和我直接双击图标打开时的表现还是不一样。我是不是漏掉了什么重要的步骤?通过这种方式启动的进程难道不会像以管理员权限启动那样运行吗?

谢谢你的帮助!

祝好 -

Pat

2 个回答

0

好的……我找到了问题所在。其实这和权限没有关系,跟我最开始的猜测完全不一样。真是抱歉!

应用程序之所以不能正常工作,是因为Python脚本放在了另一个文件夹里,并且是在那个地方被调用的。因此,应用程序的一些依赖项没有正确引用,导致它找不到运行所需的某些文件。把Python脚本移动到和被调用的应用程序同一个文件夹里,这样就能解决这个问题。

再次为最开始的错误理解而道歉。

2

我没有办法使用Vista或Windows 7,不过你应该可以使用runas这个命令。

import subprocess
subprocess.call(['runas', '/user:Administrator', 'C:/my_program.exe'])

撰写回答