2010-06-22 44 views
3

我有一个按钮,将启动需要UAC提升的进程。我想在按钮上显示Windows UAC屏蔽覆盖图,我如何在wxPython中执行此操作? 该应用程序只会在Windows上运行,所以我不需要担心它不能在其他系统上工作。如何使用wxPython在按钮上放置Windows UAC Shield叠加层?

编辑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的某个库中声明,但如果必须的话,我可以自己声明常量。

回答

2

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

相关问题