craftsystem
Messages postés143Date d'inscriptionsamedi 21 juillet 2007StatutMembreDernière intervention 7 mars 2009
-
19 nov. 2007 à 15:47
craftsystem
Messages postés143Date d'inscriptionsamedi 21 juillet 2007StatutMembreDernière intervention 7 mars 2009
-
21 nov. 2007 à 13:27
salut a tous
une petite question que je me poser...
comment faire pour terminer le processus de Explorer.exe en delphi mais
aussi en DOS car je voudrais executer des commande dos via un fichier *.bat
je vous remercie d'avance car tous se que j'ai pus lire sur le suget ne m'a rien apporter
du moin si!!!Mais par pour sa
executer un fichier n'est pas bien compliquer en delphi
terminer des processus via l'handle aussi mais là je bloque depuis un certyain temps
et sa me fais vraiment ch.......
l0sth34d2
Messages postés76Date d'inscriptionmercredi 21 mars 2007StatutMembreDernière intervention13 novembre 20081 19 nov. 2007 à 18:04
Je ne suis pas sur si cela peut t'aider.. mais tu pourrais utiliser la fonction suivante et l'ajouter dans un programme "console" et utiliser le premier parametre envoyer comme nom du .exe a tuer..
function KillEXE(str: String): Boolean;
var
aProcesses: Array[0..1023] of Longword;
cbNeeded: Longword;
cProcesses: Longword;
i: Integer;
szProcessName: Array[0..MAX_PATH-1] of Char;
hProcess: THandle;
hMod: HModule;
begin
Result := False;
if not EnumProcesses(@aProcesses, sizeof(aProcesses), cbNeeded) then exit;
cProcesses := cbNeeded div sizeof(DWORD);
for i := 0 to cProcesses-1 do
begin
hProcess := OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ or PROCESS_TERMINATE, False, aProcesses[i]);
if hProcess <> 0 then
begin
if EnumProcessModules(hProcess, @hMod, sizeof(hMod), cbNeeded) then
begin
GetModuleBaseName(hProcess, hMod, szProcessName, sizeof(szProcessName));
if UpperCase(szProcessName) = UpperCase(str) then
begin
if TerminateProcess(hProcess, 0) then
Result := True;
end;
end;
end;
CloseHandle(hProcess);
end;
end;
par exemple, tu aurais dans ton .bat: kill.exe explorer.exe
ce qui tuerais le processus
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 20 nov. 2007 à 12:49
Salut,
En DOS, il y a la commande tskill qui prend en paramètre le nom du processus (Je sais plus si il faut mettre l'extension ou pas). Par contre, elle risque de pas très bien marcher sur Explorer.exe qui a tendance à se relancer tout seul. Attention aussi, cette commande risque d'être absente sur millenium, 98, NT 4.0 et antèrieures...
<hr size="2" width="100%" />3ème année en ecole d'ingé d'info cherche stage de 4 mois à partir du 01/04/08