Lancer GUI DLL à partir de mon programme EXE

khaliloenit Messages postés 34 Date d'inscription samedi 6 octobre 2007 Statut Membre Dernière intervention 27 octobre 2009 - 8 oct. 2009 à 16:31
cs_juju12 Messages postés 966 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 4 mars 2010 - 9 oct. 2009 à 18:32
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

cs_juju12 Messages postés 966 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 4 mars 2010 4
8 oct. 2009 à 20:43
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.
0
khaliloenit Messages postés 34 Date d'inscription samedi 6 octobre 2007 Statut Membre Dernière intervention 27 octobre 2009
9 oct. 2009 à 12:44
;) 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.
0
fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
9 oct. 2009 à 13:09
si tu veux faire du pur dynamique tu utilises LoadLibrary et GetProcAddress.
0
fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
9 oct. 2009 à 17:21
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_juju12 Messages postés 966 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 4 mars 2010 4
9 oct. 2009 à 18:32
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).
0
Rejoignez-nous