[VC] Kill un processus

Kill un processus [VC] - Programmation

Marsh Posté le 08-03-2002 à 13:23:26    

Je dois modifier un .ini pour configurer une appli (AntiVirus)
J'ai mon programme qui modifie donc bien ce .ini, mais un processus en mémoire le régénère automatiquement.
 
C un executable et je connais son nom, comment puis-je coder ça dans mon appli, pour killer ce processus avant d'effectuer ma modif???
 
Merci d'avance

Reply

Marsh Posté le 08-03-2002 à 13:23:26   

Reply

Marsh Posté le 08-03-2002 à 14:32:16    

[:yoyoz]

Reply

Marsh Posté le 08-03-2002 à 14:50:57    

Et tu crois pas que c une sécurité de l'anti virus, pour que, justement, un virus ne s'attaque pas au truc !?
Parce que, si c ça, à mon avis, t pas au bout de tes peines !

Reply

Marsh Posté le 08-03-2002 à 15:06:28    

Bof, C le fichier qui configure la planification automatique.
Et si je fais quitter l'antivirus et que je lance mon appli ensuite, y a pas de problème.
 
Non, si CT une protection, elle serait vraiement ridicule.
 
Je cherche simplement une API qui me permet à la manière d'un Fin de tache de quitter ce "process".exe
 
Merci,

Reply

Marsh Posté le 08-03-2002 à 21:36:49    

trouves le handle de la fenêtre (énumère les fenêtres filles à partir de GetDesktopWindow() - regarde le nom de la fenêtre, cherche s'il y a moyen de chopper le nom de l'exe), puis tu peux ensuite envoyer un WM_CLOSE ou [cherche voir, me souviens plus] à la fenêtre.  
 
ou utiliser GetWindowThreadProcessId() pour chopper l'id du process, puis TerminateProcess().

Reply

Marsh Posté le 11-03-2002 à 10:29:37    

Ok, merci, je vais regarder tout ça!!!

Reply

Marsh Posté le 11-03-2002 à 10:33:52    

tiens, j'ai regardé un peu plus en détail, il y a une 'lib' spécialement pour tout ça, la 'tool help' - regarde du côté de CreateToolhelp32Snapshot(), tu peux énumérer les process, les threads, les modules, etc.

Reply

Marsh Posté le 11-03-2002 à 13:00:34    

Ok, ça fonctionne , C cool.
Bon en faite j'ai trouvé la fonction FindWindow qui me permet, puisque je connais le nom de la fenêtre que je rechercher de retrouver son Handle.
 
Du coup, pas de PB. Pour ceux que ça interresse, voilà le code (et oui C tout petit,  ;) )
 
HWND HwndWindows = FindWindow(NULL, "Nom de la fenêtre" ); // Le premier param, C la recherche par la classe, le second par le nom de la fenêtre
 if (HwndWindows != NULL) // Si la fenêtre est trouvée, on la ferme
 {
  SendMessageTimeout(HwndWindows, WM_CLOSE, NULL, NULL, SMTO_ABORTIFHUNG, 1000, NULL); // Bon ben C pas compliqué, j'envoie un message de cloture et met un timeout
 }
 else
  MessageBox(NULL, "Non je ne trouve pas le Handle", "Info", MB_OK); // La fenêtre n'existe pas ou est déjà fermée.
 
Voilà, merci encore, a++

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed