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

时间:2011-01-10 10:41:17

标签: python windows-7 uac process-management

我从具有管理员权限的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分配了“以管理员身份运行此程序”功能。兼容性>特权等级。这并没有改变任何事情。

当我通过双击屏幕打开它时,程序以这种方式打开它的行为方式仍然表现不同。我在这里错过了一些重要的事吗?以这种方式调用的进程是否会像使用管理员权限一样运行?

提前感谢您的帮助!

干杯 -

专利

2 个答案:

答案 0 :(得分:2)

我无法访问Vista或Windows 7,但您应该能够使用runas命令。

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

答案 1 :(得分:0)

好的......我弄清楚问题是什么。它实际上与权限无关,与我最初的怀疑相反。对不起!

应用程序无法正常工作的原因是因为Python脚本已在另一个目录中找到并调用。因此,某些应用程序的依赖项未正确引用,并且无法找到正常运行所需的某些文件。将python脚本移动到与调用的应用程序相同的目录是解决该问题的一种方法。

再次抱歉对这似乎是什么问题的误解性初步解释。