[C API WIN32] Tuer un processus
Résolu/Fermé
kilian
Messages postés
8732
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
5 février 2025
-
23 août 2005 à 13:14
kilian Messages postés 8732 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 5 février 2025 - 1 oct. 2005 à 15:36
kilian Messages postés 8732 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 5 février 2025 - 1 oct. 2005 à 15:36
Bonjour,
J'essaie tant bien que mal de trouver une fonction pour tuer un processus. J'ai effectivement trouvé une belle panoplie de fonctions pour tout ça:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcecoreos5/html/wce50grfProcessandThreadFunctions.asp
Apparemment tout commence avec OpenProcess pour récupérer le Handle de ce processus. En paramètre de OpenProcess il faut mettre l'id du processus sur lequel on veux faire des opérations. C'est probablement facile d'obtenir cet id lorqu'on a créé soi-même le process.
Le problème est que je veux tuer un processus externe qui n'a rien à voir avec le mien. Et je ne connais que le nom de ce processus (ex: machin.exe). J'aimerais donc retrouver une manière pour récupérer l'id de tous les processus en cours d'execution qui ont ce nom....
Merci d'avance :-)
J'essaie tant bien que mal de trouver une fonction pour tuer un processus. J'ai effectivement trouvé une belle panoplie de fonctions pour tout ça:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcecoreos5/html/wce50grfProcessandThreadFunctions.asp
Apparemment tout commence avec OpenProcess pour récupérer le Handle de ce processus. En paramètre de OpenProcess il faut mettre l'id du processus sur lequel on veux faire des opérations. C'est probablement facile d'obtenir cet id lorqu'on a créé soi-même le process.
Le problème est que je veux tuer un processus externe qui n'a rien à voir avec le mien. Et je ne connais que le nom de ce processus (ex: machin.exe). J'aimerais donc retrouver une manière pour récupérer l'id de tous les processus en cours d'execution qui ont ce nom....
Merci d'avance :-)
A voir également:
- [C API WIN32] Tuer un processus
- Télécharger win32 valide pour windows 7 gratuit - Forum Windows
- Processus hôte windows (rundll32) ✓ - Forum Windows
- Steam api dll - Forum Windows
- Trojan win32 - Forum Virus
- Processus d'execution client serveur - Forum Windows 10
4 réponses
StreM
Messages postés
515
Date d'inscription
lundi 18 octobre 2004
Statut
Membre
Dernière intervention
28 février 2007
124
23 août 2005 à 13:19
23 août 2005 à 13:19
Hmm... Ya bien pskill.exe ( http://www.sysinternals.com/Utilities/PsTools.html ), mais c'est un utilitaire externe...
kilian
Messages postés
8732
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
5 février 2025
1 526
23 août 2005 à 13:25
23 août 2005 à 13:25
Tiens, c'est pas mal ce truc. Mais oui, c'est dommage, il faudrait que mon application marche en dehors de chez moi.
Peut être que les processus en cours d'execution sont repertoriés dans la base de registre avec leur id....
Dommage, sur le site il propose plein de codes sources, mais pas celui de pskills apparemment...
Peut être que les processus en cours d'execution sont repertoriés dans la base de registre avec leur id....
Dommage, sur le site il propose plein de codes sources, mais pas celui de pskills apparemment...
kilian
Messages postés
8732
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
5 février 2025
1 526
24 août 2005 à 13:14
24 août 2005 à 13:14
Up :-)
kilian
Messages postés
8732
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
5 février 2025
1 526
1 oct. 2005 à 15:36
1 oct. 2005 à 15:36
Ca y est j'ai trouvé, c'est plus exactement une combinaison de fonctions.
D'abord EnumProcesses qui enumère tous les pid des process en cours.
Puis utiliser GetModuleBaseName:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/perfmon/base/enumerating_all_processes.asp
Ensuite il n'y a plus qu'à tuer les processus dont le nom est le même que celui que l'on cherche.
D'abord EnumProcesses qui enumère tous les pid des process en cours.
Puis utiliser GetModuleBaseName:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/perfmon/base/enumerating_all_processes.asp
Ensuite il n'y a plus qu'à tuer les processus dont le nom est le même que celui que l'on cherche.