如何从python以管理员身份运行explorer.exe
背景: 我想以管理员身份从python运行ESET Internet Security gui文件。它名为egui.exe。因此,在它的属性中,在兼容性下,我选中了“以管理员身份运行此程序”复选框,使其始终以管理员身份运行 另一个注意事项是,出于某种原因,如果我像这样在python中运行此文件,我似乎无法理解:如何从python以管理员身份运行explorer.exe,python,explorer,Python,Explorer,背景: 我想以管理员身份从python运行ESET Internet Security gui文件。它名为egui.exe。因此,在它的属性中,在兼容性下,我选中了“以管理员身份运行此程序”复选框,使其始终以管理员身份运行 另一个注意事项是,出于某种原因,如果我像这样在python中运行此文件,我似乎无法理解: os.startfile("c:\\program files\\ESET\\ESET Security\\egui.exe") 或 它会冻结,什么也不做。我在CMD中测试了相同的方法
os.startfile("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以管理员身份运行,它将触发UAC提示符,这是不可接受的,因为该程序应该是使用GUI自动化的测试
问题:
当我的程序本身以管理员身份运行时,我可以以管理员身份运行其他程序,而无需触发UAC提示。但我不能通过explorer.exe运行它,我想这是因为explorer.exe本身不是管理员。所以问题是如何以管理员身份运行explorer.exe?由于明显的原因,每次输入密码也是不可接受的
PS:很遗憾,explorer.exe的属性中没有兼容设置。的可能重复项的可能重复项
os.system('explorer.exe "c:\\program files\\ESET\\ESET Security\\egui.exe"')