如何使用wxPython将Windows UAC Shield叠加层放在按钮上?

时间:2010-06-22 21:02:39

标签: python button wxpython icons uac

我有一个按钮,可以启动需要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中的某个库中声明了,但如果必须的话,我可以自己声明常量。

1 个答案:

答案 0 :(得分:2)

我不知道如何用Python发送Windows消息,但我认为你这样做了。您需要以BCM_SETSHIELD作为参数发送true。它将在XP及更早版本中被忽略。还要确保按钮样式设置为FlatStyle.System。 BCM_SETSHIELD的数值是0x0000160C。