Problème de création de DLL de Hook, handle & co [C++Windows] - C++ - Programmation
Marsh Posté le 11-01-2003 à 00:45:11
masure a dit a écrit : Et comme handle je me tape 1 en retour... |
Il est sûr que 1 n'est sûrement pas une valeur valide pour le handle de la dll (enfin, il est censé être valide mais c'est tout de même une valeur hautement improbable).
masure a dit a écrit : ... et apres lors de l execution de l appli qui load la dll "EAccessViolation" comme par hazard. |
Ca se produit quand cette erreur ? Lors du chargement des fonctions (GetProcAddress) ou lors de l'utilisation de ces fonctions ?
Une chose que tu peux peut être essayer est de ne rien faire dans ton DllEntryPoint (en fournissant une fonction Init et Cleanup par exemple). En effet, le platform SDK indique sur cette page que des erreurs de violations d'accès peuvent se produire dans le cas d'appel à certaines fonctions.
Marsh Posté le 11-01-2003 à 12:15:47
Merci pour tes conseils, mais j'avoue que des deux qui travaillons la-dessus je ne suis pas le plus doué . J'essaye de bricoloer mais j'avoue que c'est sans succes.
Pour les âmes charitables, je met à disposition les projets c++ builder correspondant :
http://aragorn.dunadan.free.fr/hardware/testHook.zip
http://aragorn.dunadan.free.fr/hardware/hooksClSo.zip
Je sais que c'est abusé mais je suis pas vraiment fort pour la prog windows. Merci
Marsh Posté le 11-01-2003 à 12:20:17
gatorette a écrit : |
Je suis pas sur paske la j'ai pas pu installé C++ Builder encore, on etait chez mon collègue mais il me semble bie nque c'etait sur le getProcAdress en effet !
Marsh Posté le 11-01-2003 à 12:25:14
masure a écrit : Merci pour tes conseils, mais j'avoue que des deux qui travaillons la-dessus je ne suis pas le plus doué . J'essaye de bricoloer mais j'avoue que c'est sans succes. |
bon je peux pas tester ton prog ici, mais déjà y a un truc qui me gene c'est ta variable hinstDLL. LoadLibrary retourne un HMODULE et non pas un HINSTANCE.
Marsh Posté le 11-01-2003 à 12:28:10
"The HINSTANCE of a DLL is the same as the HMODULE of the DLL, so hinstDLL can be used in calls to functions that require a module handle."
Ca vient de la MSDN donc je pense que ya pas de probleme
Marsh Posté le 10-01-2003 à 21:12:04
Bon voila je dois créer une DLL pour gérer les hook (capture d'événements) de manière a écouter tous les évenement système et à les envoyer à une application future. Pour l instant c'est une appli de test toute simple.
Mon problème est le suivant. Lors de l'initialisation de la DLL, je dois récupérer son handle pour le refiler à l'application pour qu'ils puissent communiquer (normal). Et comme handle je me tape 1 en retour... et apres lors de l execution de l appli qui load la dll "EAccessViolation" comme par hazard.
Le code de la DLL, tout se compile bien
La ptite appli qui utilise la DLL
voila le topo je sais pas pourquoi hinst = 1, enfin je suis vraiment pas fort en prog alors c'est ptet normal mais ca m etonnerait. De toute facon le EAccessViolation est un mystere ensuite !
Message édité par Masure le 10-01-2003 à 21:13:54