Busca la funcion que necesitas!

lunes, 9 de mayo de 2011

C - Llamar a una función desde la dll

Les dejo un código donde muestro cómo cargar una API o función desde una librería dll, es muy sencillo, lo que se necesita hacer es definir el tipo de la función con los parámetros, cargarlo como estructura y despues buscar la direccion de la funcion en la dll para poder utilizarla, el código habla por mi.

PD: Pueden encontrar la estructura de las API's en la página de la msdn

Código:
#include <windows.h>

//Definimos una nueva funcion (API)
//Con todos sus parámetros
typedef INT (WINAPI *_MessageBox)(
  HWND hWnd,
  LPCTSTR lpText,
  LPCTSTR lpCaption,
  UINT uType
);

int main()
{
   //Declaramos a __MessageBox como si fuera estructura
    //de _Messagebox colocandole un valor nulo (Limpiando)
    _MessageBox __MessageBox = NULL;
    //Llamamos a obtener la dirección de la función
    __MessageBox = (_MessageBox)GetProcAddress(GetModuleHandle("User32.dll"), "MessageBoxA");
    //Usamos la función
    __MessageBox(NULL,"soy extraido de la dll","",NULL);
    return 0;   
}

_____

No hay comentarios:

Publicar un comentario