Explorer.exe

Résolu
craftsystem Messages postés 143 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 7 mars 2009 - 19 nov. 2007 à 15:47
craftsystem Messages postés 143 Date d'inscription samedi 21 juillet 2007 Statut Membre Derniè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.......

voilà quoi!!
merci
@++

La Force 2 La Mao C Sa Diversité

4 réponses

l0sth34d2 Messages postés 76 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 13 novembre 2008 1
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
3
craftsystem Messages postés 143 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 7 mars 2009
20 nov. 2007 à 07:44
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é
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
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
0
craftsystem Messages postés 143 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 7 mars 2009
21 nov. 2007 à 13:27
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é
0
Rejoignez-nous