Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Explorer.exe wie Taskmanager beenden und öffnen? (https://www.delphipraxis.net/99056-explorer-exe-wie-taskmanager-beenden-und-oeffnen.html)

k4ni 6. Sep 2007 02:16


Explorer.exe wie Taskmanager beenden und öffnen?
 
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
Delphi-Quellcode:
winexec('explorer.exe', SW_SHOWNORMAL);
? Oder nicht?


Was habt ihr fuer ideen? :zwinker:

mkinzler 6. Sep 2007 05:37

Re: Explorer.exe wie Taskmanager beenden und öffnen?
 
Wähle ein anderes Programm für die Shellfunktionalität von Windows

SirThornberry 6. Sep 2007 05:51

Re: Explorer.exe wie Taskmanager beenden und öffnen?
 
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

k4ni 6. Sep 2007 14:49

Re: Explorer.exe wie Taskmanager beenden und öffnen?
 
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?

Luckie 6. Sep 2007 14:51

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

Zitat von k4ni
Doch kann leider keine zu TerminateProcess finden :(
Wer hätte eine passende?

Die Forumssuche?

k4ni 6. Sep 2007 15:13

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

Zitat von Luckie
Zitat:

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.

Luckie 6. Sep 2007 15:17

Re: Explorer.exe wie Taskmanager beenden und öffnen?
 
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.

k4ni 6. Sep 2007 15:34

Re: Explorer.exe wie Taskmanager beenden und öffnen?
 
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
Delphi-Quellcode:
TerminateProcess(OpenProcess(Process_Terminate, False, Prozess.th32ProcessID), 0);
die 0 am ende zu einer 1 gemacht, jetzt gehts.
thx


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:40 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