cs_juju12
Messages postés966Date d'inscriptionsamedi 3 avril 2004StatutMembreDernière intervention 4 mars 20104 9 sept. 2007 à 21:40
Tu chopes le handle de la fenêtre que tu veux tester (avec EnumWindows par ex.);
Tu récupères le pID (GetWindowThreadProcessId);
Tu ouvres le processus (OpenProcess, mode READ et QUERRY_INFO)
Tu chopes le handle du module de base (EnumProcessModules);
Et enfin tu utilises GetModuleFileName pour avoir le nom complet.
Vous n’avez pas trouvé la réponse que vous recherchez ?
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 9 sept. 2007 à 22:09
Salut,
juju12 >> GetModuleFileName() ne fonctionne qu'avec le processus courant. Il faudra plutôt utiliser GetModuleFileNameEx(). Pour trouver le handle de la fenêtre, FindWindow() ou FindWindowEx() peuvent suffire. L'utilisation de EnumWindows() est moins pratique.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 9 sept. 2007 à 22:31
OK mais tout ceci est bien lourd pour une si petite info.
L'exécuté pourrait retourner son nro de version et lanceur lirait GetExitCodeProcess() ou l'exécuté écrirait l'info dans un fichier que lanceur irait lire.
cs_juju12
Messages postés966Date d'inscriptionsamedi 3 avril 2004StatutMembreDernière intervention 4 mars 20104 9 sept. 2007 à 23:34
raccp >> oui désolé; pour FindWindow, bah ca dépend à partir de quoi on cherche la fenêtre. Si on n'a rien d'autre que le nom du processus...
Brunews >> peut-être n'a-t'il pas accès au code source de l'exécutable, par ex. chercher si un processus qui a le nom d'un processus système n'est pas un virus qui a emprunté le nom...