如何从python

时间:2019-05-08 09:01:39

标签: python explorer

背景

我想以管理员身份从python运行ESET Internet Security gui文件。它名为egui.exe。因此,在其属性中,在兼容性下,我选中了“以管理员身份运行该程序”复选框,因此它始终以admin身份运行。

另一个注意事项是,如果我像这样在python中运行此文件,出于某种原因,这似乎超出了我的理解:

os.startfile("c:\\program files\\ESET\\ESET Security\\egui.exe")

os.system("c:\\program files\\ESET\\ESET Security\\egui.exe")

它将冻结并且不执行任何操作。我在CMD中测试了相同的方法,如下所示:

c:\Program Files\ESET\ESET Security>egui.exe
c:\Program Files\ESET\ESET Security>start egui.exe

但是这两种情况都会导致CMD冻结,并且什么也不做,甚至ctrl + c也不会中断它,并且应该关闭CMD。

我做了什么

某种可行的方法是通过explorer.exe运行exe文件:

os.system('explorer.exe "c:\\program files\\ESET\\ESET Security\\egui.exe"')

这不会冻结,但是问题在于,因为我希望egui.exe以admin身份运行,它将触发UAC提示,这是不可接受的,因为该程序应该是使用GUI Automation进行的测试。

问题:

我的程序本身以admin身份运行时,我可以以admin身份运行其他程序,而无需触发UAC提示。但是我无法通过explorer.exe运行它,我认为这是因为explorer.exe不是管理员本身。所以问题是如何以管理员身份运行explorer.exe?出于明显的原因,每次都不能输入密码。

PS:不幸的是,explorer.exe的属性没有兼容设置。

0 个答案:

没有答案