Underc0de

Programación Scripting => Python => Mensaje iniciado por: JaAViEr en Junio 04, 2011, 04:37:47 AM

Título: [Uso-API] Utilizando MessageBoxA de C en Python - JaAViEr
Publicado por: JaAViEr en Junio 04, 2011, 04:37:47 AM
Bueno, esto es curioso, es mezcla de C + Python:
Código (python) [Seleccionar]

from ctypes import c_int, WINFUNCTYPE, windll
from ctypes.wintypes import HWND, LPCSTR, UINT
def cont():
    var=MessageBox()
    return var
prototype = WINFUNCTYPE(c_int, HWND, LPCSTR, LPCSTR, UINT)
paramflags = (1, "hwnd", 0), (0, "text", "Hola :"), (0, "caption", "Pregunta :"), (0, "flags", 1)
MessageBox = prototype(("MessageBoxA", windll.user32), paramflags)
print cont()

Al utilizar ese código, nos saltará un alert.
Para saber que boton fue presionado, debes presionarlo y devolverá un número.
Ese número es el que identifica al boton, por lo que si deseas saber
que boton fue presionado, basta con :
Código (python) [Seleccionar]

from ctypes import c_int, WINFUNCTYPE, windll
from ctypes.wintypes import HWND, LPCSTR, UINT
def cont():
    var=MessageBox()
    return var
prototype = WINFUNCTYPE(c_int, HWND, LPCSTR, LPCSTR, UINT)
paramflags = (1, "hwnd", 0), (0, "text", "Desea Continuar ?"), (0, "caption", "Pregunta :"), (0, "flags", 1)
MessageBox = prototype(("MessageBoxA", windll.user32), paramflags)
if cont()==1:
    print "Bien, continuas"
else:
    print "Bueno, adios!"

Que como ven nos salta un alert diciendo:
Desea continuar ?
Aceptar             Cancelar.
Aceptar = 1
Cancelar = 2
En este caso basta con usar uno solo y el otro lo dejo para else
Si quieren más variedad de opciones, deben modificar el (0, "flags", 1)
Y ver cual es su número identificador de los botones.
Espero les haya gustado esto :D

Saludos ;)
Título: Re:[Uso-API]Utilizando MessageBoxA de C en Python - JaAViEr
Publicado por: Gh0st.C en Junio 04, 2011, 01:24:28 PM
haha esto esta muy bueno, seguro alguna vez lo usare, gracias :)
Título: Re:[Uso-API]Utilizando MessageBoxA de C en Python - JaAViEr
Publicado por: JaAViEr en Junio 04, 2011, 06:25:23 PM
A mi ya se me vienen ideas a la mente jajaja.
Cuando tire unas líneas lo subo a underc0de