我有一个按钮,可以启动需要UAC提升的进程。我想在按钮上显示Windows UAC屏蔽覆盖,我该如何在wxPython中执行此操作? 该应用程序只能在Windows上运行,所以我不必担心它不能在其他系统上运行。
编辑2: 知道了:
BCM_SETSHIELD = 0x0000160C
btn_apply = wx.Button(self, wx.ID_APPLY, "Apply",
wx.DefaultPosition, wx.DefaultSize, 0)
response = win32gui.SendMessage(btn_apply.GetHandle(), BCM_SETSHIELD, None, True)
我把它放在wparam中,而不是SendMessage的lparam,现在可以正常工作了。现在我只是想知道BCM_SETSHIELD是否在pywin32中的某个库中声明了,但如果必须的话,我可以自己声明常量。
答案 0 :(得分:2)
我不知道如何用Python发送Windows消息,但我认为你这样做了。您需要以BCM_SETSHIELD
作为参数发送true
。它将在XP及更早版本中被忽略。还要确保按钮样式设置为FlatStyle.System。 BCM_SETSHIELD的数值是0x0000160C。