Lancer GUI DLL à partir de mon programme EXE

Signaler
Messages postés
34
Date d'inscription
samedi 6 octobre 2007
Statut
Membre
Dernière intervention
27 octobre 2009
-
Messages postés
966
Date d'inscription
samedi 3 avril 2004
Statut
Membre
Dernière intervention
4 mars 2010
-
Salut,

- Je suis en train d'exécuter une DLL GUI à partir de mon programme (. Exe)
- J'ai fait tout ce qui concerne l'exportation de fonction qui sera appelée à partir de l'extérieur de DLL, comme ceci
Dans la DLL:
extern "C" __declspec (dllexport) void ExecuteDll (A_bDecryptCcs bool);

Ce dont j'ai besoin est de faire un programme (. Exe) pour exécuter cette DLL et il sera invisible car j'en ai besoin pour être comme un déclencheur;il suffit d'appeler et part pour laisser la DLL faire son travail à savoir l'interface graphique de la DLL.

J'espère que j'ai expliqué mon problème clairement, et j'espère donc que quelqu'un a une solution et aide-moi.

Merci

5 réponses

Messages postés
966
Date d'inscription
samedi 3 avril 2004
Statut
Membre
Dernière intervention
4 mars 2010
4
Dans le projet :
extern "C" __declspec (dllimport) void ExecuteDll (A_bDecryptCcs bool);
puis utilisation comme une fonction normale.

Il faut aussi lier la lib (générée en même temps que la dll) au projet;
sous Visual C++ par exemple, ajouter quelque part :
#pragma comment(lib,"GUI.lib")
ou bien passer par le menu, options du projet...



Sinon, il y a un utilitaire de Windows qui sert exécuter les dlls; il s'agit de rundll32.
Messages postés
34
Date d'inscription
samedi 6 octobre 2007
Statut
Membre
Dernière intervention
27 octobre 2009

;) je sais tout ca mon ami, mais ce que je demande c'est comment lancer un dll à partir d'un executable EXE puisque le DLL doit faire tout le travail (il contient la fenêtre principale et tous le traitement) et l EXE juste lancer ce DLL et disparaitre.
Messages postés
1115
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
6 mai 2021
4
si tu veux faire du pur dynamique tu utilises LoadLibrary et GetProcAddress.
Messages postés
1115
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
6 mai 2021
4
oups j'ai pas tout lu !!!

ce que tu demandes est IMPOSSIBLE !

L'exe doit est présent en permanance. Pour faire simple, si tu arrêtes l'exe, l'exécution du code dans la dll s'arrête aussi.
Messages postés
966
Date d'inscription
samedi 3 avril 2004
Statut
Membre
Dernière intervention
4 mars 2010
4
fregolo a raison; ceci dit, tu peux contourner ce problème en chargeant ta dll dans l'espace mémoire d'un autre processus (genre explorer ou n'importe quoi); alors tu pourras quitter ton processus de lancement, mais du coup la dll continuera de tourner.
Pour ça, cf techniques d'injection de dll
Ceci marchera seulement sur une session avec autorisations maximales (du genre admin).