Débutant C++ / dll

Signaler
Messages postés
20
Date d'inscription
jeudi 24 juillet 2003
Statut
Membre
Dernière intervention
30 janvier 2004
-
Messages postés
20
Date d'inscription
jeudi 24 juillet 2003
Statut
Membre
Dernière intervention
30 janvier 2004
-
Bonjour,

je suis débutant en c++ et j'ai une question concernant les dll.
Voila j'aimerai faire une dll qui créee une fenêtre invisible.
Je ne veux pas de prog executable.

Je souhaite utilisé cette dll avec un prog java

Merci pour vos réponses .

-- R1 --

6 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
Et ou est le probleme ?
BruNews, ciao...
Messages postés
20
Date d'inscription
jeudi 24 juillet 2003
Statut
Membre
Dernière intervention
30 janvier 2004

en fait quand c'est un programme de type .exe la fonction winmain prend en paramètre un HINSTANCE et quand c'est une dll, qui va passer en paramètre le HINSTANCE ?

C'est peux être faux problème mais comme je m'y connais pas trop en c++

En fait mon programme java devra créer une fenêtre en c++ et quand je fermerai mon prog java cela devra aussi fermer la fenêtre c++

Je vais devoir manipuler le hinstance pour créer un systrayicon

Merci

-- R1 --
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
DllMain reçoit en 1er param HINSTANCE de la DLL, si tu en as besoin ulterieurement tu l'enregistres dans une variable, exemple:

HINSTANCE hmod;

BOOL WINAPI DllMain(HINSTANCE hDll, DWORD dwReason, LPVOID Reserved)
{ if(dwReason DLL_PROCESS_ATTACH) hmod hDll;
return 1;
}

Tu pourras fournir hmod a qui en a besoin.

BruNews, ciao...
Messages postés
20
Date d'inscription
jeudi 24 juillet 2003
Statut
Membre
Dernière intervention
30 janvier 2004

Ok merci pour cette précision.
J'ai ajouter cette méthode mais apparement je ne passe pas dedans (j'ai mis un printf et rien ne se passe)

saisi tu pourquoi ?

merci d'avance

-- R1 --
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
DllMain est appelee pour toute dll avec 4 notifications possibles:
DLL_PROCESS_ATTACH
DLL_THREAD_ATTACH
et en sortie:
DLL_THREAD_DETACH
DLL_PROCESS_DETACH

Je ne fais pas de java, a toi de voir ce qui te convient mais assure que sont appeles a moins de traitement special comme DisableThreadLibraryCalls.

BruNews, ciao...
Messages postés
20
Date d'inscription
jeudi 24 juillet 2003
Statut
Membre
Dernière intervention
30 janvier 2004

Salut !

je te remercie bcp pour ta précieuse aide !
J'ai réussi a faire ce que je voulais

merci encore
et bonnes fêtes de fin d'années

-- R1 --