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++ :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
#define MONITORING_API __declspec ( dllexport ) 
extern "C" MONITORING_API bool installerLeMonitoring(LPCWSTR cheminDuClient, HWND hFenetre, PROCESSUS_A_MONITORER** ppProcessus, int nombreDeProcessus); 
 
extern "C" MONITORING_API void desinstallerLeMonitoring();
Puis maintenant l'appel dans l'EXE VB2008 :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
Imports System.Runtime.InteropServices
 
Private Declare Auto Function installerLeMonitoring Lib"D:\Developpements\opb\bin\monitoring.dll" (ByRef cheminDuClient AsString, ByVal hFenetre AsInteger, ByVal ppProcessus() As ProcessusAMonitorer, ByVal nombreDeProcessus AsInteger) AsBoolean
 
Private Declare Auto Sub desinstallerLeMonitoring Lib"D:\Developpements\opb\bin\monitoring.dll" ()
 
(...)
 
 
installerLeMonitoring(Application.ExecutablePath, frmPrincipale.Handle(), processus, nombreDeProcessus)

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.

Olivier