python dll ctypes messagebox

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ó