|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Oct 2003
Messaggi: 2002
|
[C/C++] Dubbi su DLL_PROCESS_ATTACH in una dll
Salve a tutti,
Ho scritto una dll con alcune funzioni e fino a qui tutto ok, adesso avrei necessità che la dll venga caricata da un programma per la prima volta, compia alcune operazioni di inizializzazione e poi la funzione della dll viene chiamata una o più volte a secondo della necessità dal programma chiamanete e successivamente il programma termina e la dll viene scaricata. Vorrei inserire le operazioni di inizializzazione qui: Codice:
BOOL APIENTRY DllMain (HINSTANCE hInst /* Library instance handle. */ , DWORD reason /* Reason this function is being called. */ , LPVOID reserved /* Not used. */ ) { switch (reason) { case DLL_PROCESS_ATTACH: /*codice di inizializzazione*/ break; case DLL_PROCESS_DETACH: break; case DLL_THREAD_ATTACH: break; case DLL_THREAD_DETACH: break; } return TRUE; } Codice:
HINSTANCE hinstDLL = LoadLibrary("nome.dll"); grazie 1000 per l'aiuto
__________________
Trattative sul mercatino del forum:tante e mai un problema! Controlla pure i miei vecchi post ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
no, non devi invocarlo in alcun modo, la DllMain viene invocata automaticamente dal sistema. sei sicuro che la DLL venga caricata? LoadLibrary cosa restituisce? casomai per essere sicuro prova a mettere una DebugBreak all'inizio della DllMain, fuori dallo switch.
|
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Oct 2003
Messaggi: 2002
|
Quote:
Codice:
extern BOOL APIENTRY DllMain (HINSTANCE hInst /* Library instance handle. */ , DWORD reason /* Reason this function is being called. */ , LPVOID reserved /* Not used. */ ) { switch (reason) { case DLL_PROCESS_ATTACH: /*codice di inizializzazione*/ break; case DLL_PROCESS_DETACH: break; case DLL_THREAD_ATTACH: break; case DLL_THREAD_DETACH: break; } return TRUE; } grazie cmq per l'aiuto
__________________
Trattative sul mercatino del forum:tante e mai un problema! Controlla pure i miei vecchi post ![]() |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:20.