[Uso-API] Utilizando MessageBoxA de C en Python - JaAViEr

Iniciado por JaAViEr, Junio 04, 2011, 04:37:47 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Junio 04, 2011, 04:37:47 AM Ultima modificación: Marzo 23, 2015, 12:00:37 PM por Expermicid
Bueno, esto es curioso, es mezcla de C + Python:
Código: python

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

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 ;)
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

haha esto esta muy bueno, seguro alguna vez lo usare, gracias :)

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


A mi ya se me vienen ideas a la mente jajaja.
Cuando tire unas líneas lo subo a underc0de
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta