Explorer.exe

[Résolu]
Signaler
Messages postés
143
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
7 mars 2009
-
Messages postés
143
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
7 mars 2009
-
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.......

voilà quoi!!
merci
@++

La Force 2 La Mao C Sa Diversité

4 réponses

Messages postés
76
Date d'inscription
mercredi 21 mars 2007
Statut
Membre
Dernière intervention
13 novembre 2008
1
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
Messages postés
143
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
7 mars 2009

grand merci pour ta réponse

j'ai trouver un truc sur le sugetmes a réponse m l'air pas mal je vais vérifié et sisa me va je valide ta réponse

merci

La Force 2 La Mao C Sa Diversité
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
15
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
Messages postés
143
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
7 mars 2009

bon sa marche nikel je vous remercie a tous

certe l'explorer se relance mais après quelque
modif g réglé le problème
alors encore Merci
@++

La Force 2 La Mao C Sa Diversité