LoadLibrary -> Impossible de charger la librairie (builder C++ 6)
franckies
Messages postés21Date d'inscriptionvendredi 4 avril 2003StatutMembreDernière intervention28 janvier 2006
-
28 avril 2004 à 11:05
franckies
Messages postés21Date d'inscriptionvendredi 4 avril 2003StatutMembreDernière intervention28 janvier 2006
-
28 avril 2004 à 13:54
Salut à tous !
Voila j'utilise builder C++ 6 et à l'aide d'un tuto j'ai recopié un hook de clavier pour pouvoir réalisé une patite appli.
Pour créer ce hook clavier il faut une DLL dont j'ai recopier le code.
J'ai compilé, et j'ai obtenu ma DLL => Project1.dll
Ensuite dans mon appli exe, j'ai chargé cette DLL avec "LoadLibrary" :
HINSTANCE hInst;
hinstDLL = LoadLibrary("Project1.dll"); // Chargement de la librairie
if (!hinstDLL) // Erreur lors du chargement de la librairie ?
Application->MessageBox("Impossible de charger la librairie.","gloups",MB_OK);
Sur mon PC tout marche à merveille....la DLL et l'exe sont dans le même repertoire.
Par contre des que je passe sur un autre PC j'ai mon jolie petit message => "Impossible de charger la librairie".
Si quelqu'un peut m'aider .....je galère pas mal là :sad)
Merci
franckies
Messages postés21Date d'inscriptionvendredi 4 avril 2003StatutMembreDernière intervention28 janvier 2006 28 avril 2004 à 11:24
Je pense pas puisque je charge une DLL perso.
J'arrive à la charger sur mon PC, mais des que je passe sur un autre PC sur lequel aucun environnement de developpement n'est installé impossible de charger la DLL.
Pourtant je fais tjs de la même manière => l'exe et la DLL dans le meme repertoire.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 28 avril 2004 à 12:04
avec dependency walker, tu le trouves sur le net.
Si tu ne touves pas, tu me le dis.
Faudra le lancer une fois depends.exe, tu vas dans options->Configure extensions, et tu ajoutes DLL et EXE comme types.
Ensuite tu auras "dependances" dans le bouton droit de la souris sur ces 2 types de fichier.
Dans les dependances de TON exe et dll, ne doit pas y avoir de lib Borland sinon normal que ne se charge pas. Faut prog en win32 direct API pour enlever les dependances.
que faire à present???
J'ai lancé dependency walker sur le PC où le chargement de la DLL fonctionne bien....
Peut être il faudrait voir ce que ca donne sur mon autre PC où là par contre impossible de charger la DLL ?
Mais alors pourquoi ca marche bien sur un PC et pas sur l'autre????
franckies
Messages postés21Date d'inscriptionvendredi 4 avril 2003StatutMembreDernière intervention28 janvier 2006 28 avril 2004 à 13:22
Non j'ai pas de modif de CurrentDirectory...
Par contre je verifier les dependances de la DLL, et y a une dependance avec CC3260MT.DLL (librairie Borland) !!!
J'ai pris cette DLL que j'ai mis dans le repertoire system de mon autre PC et ca marche.
Par contre c pas normal que cette DLL possède une dépendance avec une DLL Borland.....enfin je pense.
En tous cas merci pour cette utilitaire BruNews... c'est vraiment pratique.