cs_oliv72
Messages postés9Date d'inscriptionjeudi 27 février 2003StatutMembreDernière intervention26 mai 2009
-
23 mai 2009 à 18:29
cs_oliv72
Messages postés9Date d'inscriptionjeudi 27 février 2003StatutMembreDernière intervention26 mai 2009
-
23 mai 2009 à 19:34
Bonjour à tous,
Je tente de faire un outil de monitoring en VB2008, au moyen d'une DLL écrite en C++.
Problème : je ne connais ni VC++, ni VB2008, ni la programmation de DLL !
Cependant je connais VB5 (!) et je suis reparti d'une solution 100% C++ que j'ai réussi à compiler et à faire fonctionner, puis que j'ai adapter à ma sauce.
Je ne suis certainement pas au bout de mes ennuis, mais mon problème actuel se situe au moment de l'appel à l'une des API de ma DLL. J'obtiens en effet en effet l'erreur suivante : "EntryPointNotFoundException". J'ai sûrement oublié quelque chose mais quoi et où ? Est-ce du côté de la DLL que le problème se trouve ou bien dans mon appel VB ? Et où précisément ???
Voici les extraits de mon code. Tout d'abord le .h de la DLL VC++ :
Private
Declare
Auto
Function installerLeMonitoring
Lib
"D:\Developpements\opb\bin\monitoring.dll" (
ByRef cheminDuClient
As
String,
ByVal hFenetre
As
Integer,
ByVal ppProcessus()
As ProcessusAMonitorer,
ByVal nombreDeProcessus
As
Integer)
As
Boolean
Private
Declare
Auto
Sub desinstallerLeMonitoring
Lib
"D:\Developpements\opb\bin\monitoring.dll" ()
Si quelqu'un peut m'aider à résoudre ce problème... Je dirais même que si quelqu'un est intéressé globalement par le projet pour m'aider à le mettre au point, je ne dis pas non ! En deux mots la DLL surcharge les appels aux API de gestion de fichier, d'affichage de texte (à l'écran) et d'ouverture de fenêtres (notamment avec la lib Detours), et communique à l'EXE toutes ces informations. Pour le moment le EXE se contente d'afficher ce qu'il reçoit dans un TextBox ! Mais ce qui m'intéresse c'est d'arriver à faire marcher la DLL et à réussir la communication avec l'EXE.
cs_oliv72
Messages postés9Date d'inscriptionjeudi 27 février 2003StatutMembreDernière intervention26 mai 2009 23 mai 2009 à 19:34
Ca y est ! J'ai trouvé ! En fait j'avais deux anos : une différence de type entre le .h et le .cpp (pointeur de pointeur d'un côté et pointeur de l'autre), et une dans le VB où le tableau de structures était en ByVal au lieu de Byref...
Curieux que le compilateur n'ait pas détecté la première ano.
Bon ! je poursuis la mise au point !
Je suppose que le problème vient de là : le nom de la première fonction n'est pas très clair...
Je poursuis mes investigations. Si vous avez des suggestions, n'hésitez pas !