|
|||||||
|
|
|
![]() |
|
|
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: 23:23.




















