我正在开发一个使用管理员权限的脚本我使用下面的代码来获取它,但是当我将它添加到我的脚本时,突然不会显示wxpython。
我应该怎么做才能修复它?
# Enable Adminstrator Privelaged
ASADMIN = 'asadmin'
if sys.argv[-1] != ASADMIN:
script = os.path.abspath(sys.argv[0])
params = ' '.join([script] + sys.argv[1:] + [ASADMIN])
try:
shell.ShellExecuteEx(lpVerb='runas', lpFile=sys.executable, lpParameters=params)
except Exception as e:
if e[-1]=="The operation was canceled by the user.":
print "נא לאפשר הרשאות מנהלן לתוכנה"
else:
print "שגיאה בהפעלת המנהלן, פרטי השגיאה:\n"+str(e)
sys.exit(0)
app = wx.App(False)
x=MainGUI(None,app)
app.MainLoop()
答案 0 :(得分:1)
如果我正确阅读此代码,如果用户未在命令行上传入asadmin
,则看起来就是退出脚本。因此,当您运行没有参数的脚本或传入错误的字符串时,您的if
语句将运行。当它运行时,它会在最后调用sys.exit(0)
,这会导致脚本在那里结束。
因此,您永远无法访问代码的wxPython部分。