Python MessageBox con iconos que usan ctypes y windll
(1)
Por lo tanto, estoy buscando una manera de crear un simple Messagebox en Python utilizando solo las bibliotecas nativas y encontré varias publicaciones, pero esta es una de ellas , aprovechando ctypes para importar el win32.dll y llamar a su función MessageboxA.
import ctypes # An included library with Python install.
ctypes.windll.user32.MessageBoxA(0, "Your text", "Your title", 1)
Bastante genial, creo.
--- Pero ---
Cuando observo la documentación de MessageboxA en el sitio de Microsoft , resulta que esta función MessageboxA puede hacer mucho más. Simplemente no sé cómo pasar correctamente los parámetros en.
Estoy intentando descubrir el método estándar para subir el cuadro de mensaje con un ícono, como el ícono de sistema o el icono de advertencia junto al mensaje. La documentación de Microsoft indica que se debe ingresar esto en el parámetro uType, que es el último, pero no he podido hacer ningún progreso aquí aparte de cambiar los botones del mensaje.
usted solo o ellos juntos
import ctypes
MB_OK = 0x0
MB_OKCXL = 0x01
MB_YESNOCXL = 0x03
MB_YESNO = 0x04
MB_HELP = 0x4000
ICON_EXLAIM=0x30
ICON_INFO = 0x40
ICON_STOP = 0x10
result = ctypes.windll.user32.MessageBoxA(0, "Your text?", "Your title", MB_HELP| MB_YESNO | ICON_STOP)
Obtuve los valores hexadecimales de la documentación a la que vinculó