Esistono due metodi, il primo ? pi? semplice, il secondo ? un tantino pi? difficile ma offre maggiore flessibilit?:
Il primo metodo consiste nel linkare relativo file .lib della dll in questione e di aggiungere l'header che contiene i prototipi delle funzioni definite nella dll stessa.
Metodo1.cpp:
------------
#include <windows.h>
#pragma lib <kernel32.lib>
#pragma lib <user32.lib>
#pragma lib <gdi32.lib>
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nCmdShow){
/* MessageBox viene richiamata con successo! */
MessageBox(0,"","",0);
return 0;
}
Quando tuttavia non si disponde del relativo file .lib, ? necessario eseguire qualche passaggio extra.
Metodo2.cpp:
------------
/* Mettiamo che nella DLL sia presente una funzione "void SendKey(char ch);" */
typedef LPVOID (*LPSENDKEY)(char ch);
LPSENDKEY SendKey;
HINSTANCE hDLL = LoadLibrary("c:\percorso\mia\libreria.dll");
SendKey = (LPSENDKEY)GetProcAddress(hDLL, "SendKey");
SendKey('c'); /* Viene richiamata con successo SendKey */
Questa ? una breve introduzione, ti consiglio di approfondire meglio l'argomento se veramente ti interessa programmarci qualcosa.
|