Как поставить наложение Windows UAC Shield на кнопку с помощью wxPython? - PullRequest
3 голосов
/ 23 июня 2010

У меня есть кнопка, которая запускает процесс, требующий повышения UAC.Я хочу отобразить на кнопке наложение щита Windows UAC, как мне это сделать в wxPython?Приложение будет работать только в Windows, поэтому мне не нужно беспокоиться о том, что оно не работает в других системах.

edit 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)

Я поставил true в wparam, а не в lparam SendMessage, теперь это работает.Теперь мне просто интересно, объявлен ли BCM_SETSHIELD в какой-то библиотеке где-то в pywin32, но я вполне могу объявить константу самостоятельно, если мне нужно.

1 Ответ

2 голосов
/ 23 июня 2010

Я не знаю, как отправить сообщение Windows на Python, но я предполагаю, что вы делаете.Вам необходимо отправить BCM_SETSHIELD с true в качестве параметра.Это будет игнорироваться на XP и ранее.Также убедитесь, что стиль кнопки установлен на FlatStyle.System.Числовое значение BCM_SETSHIELD равно 0x0000160C.

...