Probleme API de base

Signaler
Messages postés
23
Date d'inscription
vendredi 16 mai 2008
Statut
Membre
Dernière intervention
24 août 2008
-
Messages postés
23
Date d'inscription
vendredi 16 mai 2008
Statut
Membre
Dernière intervention
24 août 2008
-
Bonjour,a tous voila je me suis mis a utiliser les api windows pour ce faire je teste les plus courante dans des petit programme console en me referent a la MSDN de microsoft.Bref je bute sur l'utilisation de GetModuleHandle
qui d'apres la MSDN recupere le handle d'un processus mon probleme etant que la valeur que me renvoi cette fonction et NULL ce qui veut dire que la fonction merde mais je ne sais pas pk .Voici le code;

int main()
{

HMODULE GetModH;
LPCTSTR FileMod="C:\\Program Files\\Internet Explorer\\iexplore.exe";
GetModH = GetModuleHandle(FileMod);
if((GetModH = GetModuleHandle(FileMod))==NULL)
{
printf("erreur getmodulehandle\n");
}
else
{
printf("GetModuleHandle ok\n");
}

system("PAUSE");
return 0;
}

si quelqu'un peut m'eclairer ce serait sympa auraije mal comprit le but de cette api?

3 réponses

Messages postés
966
Date d'inscription
samedi 3 avril 2004
Statut
Membre
Dernière intervention
4 mars 2010
4
Effectivement t'as pas dû bien comprendre...
cette fonction permet d'obtenir un handle sur un module (dll ou exe ou autre) qui a été chargé par le processus appelant (le tien quoi). Cela n'a rien à voir avec les autres processus en train de tourner. Les modules ont été chargés avec LoadLibrary, documente-toi sur cette fonction. Y spécifier un exe peut servir à récupérer les ressources ou appeler les fonctions exportées mais c'est rare, majoritairement ce sont des dlls qui sont chargées.
Si tu veux récupérer un handle sur un processus en train de tourner, cela se fait à partir du PID, donc cherche du côté des fonctions EnumProcesses, GetProcessIdOfThread...pour le PID et OpenProcess pour obtenir un handle.
Messages postés
23
Date d'inscription
vendredi 16 mai 2008
Statut
Membre
Dernière intervention
24 août 2008

D'accord je me disait aussi que ça aurait ete trop facile, merci pour l'explication je vais continuer mon apprentisage en essayant cette fois de mieux lire les article meme si ils sont en anglais.Merci encore
Messages postés
23
Date d'inscription
vendredi 16 mai 2008
Statut
Membre
Dernière intervention
24 août 2008

D'accord je me disait aussi que ça aurait ete trop facile, merci pour l'explication je vais continuer mon apprentisage en essayant cette fois de mieux lire les article meme si ils sont en anglais.Merci encore