AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Explorer.exe wie Taskmanager beenden und öffnen?
Thema durchsuchen
Ansicht
Themen-Optionen

Explorer.exe wie Taskmanager beenden und öffnen?

Ein Thema von k4ni · begonnen am 6. Sep 2007 · letzter Beitrag vom 6. Sep 2007
Antwort Antwort
k4ni

Registriert seit: 17. Jul 2007
Ort: Ulm
258 Beiträge
 
Delphi 7 Enterprise
 
#1

Explorer.exe wie Taskmanager beenden und öffnen?

  Alt 6. Sep 2007, 02:16
Hey leutzz,

Also, ich brauche einen weg explorer.exe zu killen ohne damit es gleich danach wieder auftaucht,
Ich habs mit einer KillTask function gemacht, doch danach hat es die explorer.exe gleich wieder geöffnet.
Doch wenn ich sie per Task manager beende bleibt sie auch weg.

Wie würdet ihr das machen?

Ich hab auch schon gesucht und das gefunden:
http://www.delphipraxis.net/internal...ct.php?t=35324

Doch ExploreWClass wird immer als geschlossen angezeigt und
CabinetWClass nur wenn ich einen ordner auf hab (z.B arbeitsplatz)

Und da ich es ja jetzt geschlossen hab, mit welcher funktion sollte ich es wieder öffnen ?
reicht da
winexec('explorer.exe', SW_SHOWNORMAL); ? Oder nicht?


Was habt ihr fuer ideen?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Explorer.exe wie Taskmanager beenden und öffnen?

  Alt 6. Sep 2007, 05:37
Wähle ein anderes Programm für die Shellfunktionalität von Windows
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Explorer.exe wie Taskmanager beenden und öffnen?

  Alt 6. Sep 2007, 05:51
winexec solltest du auf keinen Fall verwenden da diese seit einigen Jahren (laut Hilfe) schon depricated ist und es dir somit passieren kann das nach dem nächsten Update diese Funktion nicht mehr geht.
Nimm lieber ShellExecute oder CreateProcess.
Und wenn du den Explorer wie der Taskmanager abschießen willst verwende TerminateProcess
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
k4ni

Registriert seit: 17. Jul 2007
Ort: Ulm
258 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Explorer.exe wie Taskmanager beenden und öffnen?

  Alt 6. Sep 2007, 14:49
Ok. Danke fuer eure schnellen antworten!

Hab jetzt eine perfekte function zu CreateProcess gefunden.
Doch kann leider keine zu TerminateProcess finden
Wer hätte eine passende?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Explorer.exe wie Taskmanager beenden und öffnen?

  Alt 6. Sep 2007, 14:51
Zitat von k4ni:
Doch kann leider keine zu TerminateProcess finden
Wer hätte eine passende?
Die Forumssuche?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
k4ni

Registriert seit: 17. Jul 2007
Ort: Ulm
258 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Explorer.exe wie Taskmanager beenden und öffnen?

  Alt 6. Sep 2007, 15:13
Zitat von Luckie:
Zitat von k4ni:
Doch kann leider keine zu TerminateProcess finden
Wer hätte eine passende?
Die Forumssuche?
Hab ich benützt, find aber irgendwie nichts passendes.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Explorer.exe wie Taskmanager beenden und öffnen?

  Alt 6. Sep 2007, 15:17
Ich weiß ja nicht, wo nach du gesucht hast, aber Hier im Forum suchenTerminateProcess liefert genug Treffer. Dass da allerdings für dich Copy and paste tauglicher Code dabei ist, ist natürlich etwas unwahrscheinlich. Da muss man dann eben schon mal selber etwas programmieren.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
k4ni

Registriert seit: 17. Jul 2007
Ort: Ulm
258 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Explorer.exe wie Taskmanager beenden und öffnen?

  Alt 6. Sep 2007, 15:34
Ich find da nur KillTask, und wenn ich diese function benütz wird explorer.exe sofort nach dem killen wieder geöffnet, so wie das windows immer macht wenn explorer.exe mal abkackt.
Doch wenn man ihn mit dem taskmanager schliest, bleibt er auch zu.

Edit:
hab jetzt diese function mal versucht:

Delphi-Quellcode:
function KillProcess(const ExeName: String): Boolean;
var
  Prozess : TProcessEntry32;
  h : THandle;

begin
  Result := False;
  Prozess.dwSize := SizeOf(Prozess);
  h := CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  try
   If Process32First(h, Prozess) then
    Repeat
     If AnsiLowerCase(Prozess.szExeFile) = AnsiLowerCase(ExeName) then Result := TerminateProcess(OpenProcess(Process_Terminate, False, Prozess.th32ProcessID), 0);
    Until (Not Process32Next(h, Prozess)) or Result;
  finally
   CloseHandle(h);
  end;
end;
Doch wie gesagt, er öffnet sich nach dem beenden gleich wieder.
DOch dann hab ich in der linie
TerminateProcess(OpenProcess(Process_Terminate, False, Prozess.th32ProcessID), 0); die 0 am ende zu einer 1 gemacht, jetzt gehts.
thx
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz