Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Windows Prozess killen (https://www.delphipraxis.net/8378-windows-prozess-killen.html)

Tyrael Y. 4. Sep 2003 15:27

Re: Windows Prozess killen
 
ähm, :?

ich wäre mit TerminateProcess vorsichtig...

sobald du TerminateProcess sendest wird der Process SOFORT gekillt...


... es gibt ne bessere Variante die den Prozess noch seine Aufgaben zu Ende bringen lässt...

fällt mir grad nicht so ein , aber es geht mit einem ExitCode

ich guck nochmal nach dann sag ich Bescheid

Luckie 4. Sep 2003 15:31

Re: Windows Prozess killen
 
Zitat:

Zitat von Tyrael Y.
ich wäre mit TerminateProcess vorsichtig...

sobald du TerminateProcess sendest wird der Process SOFORT gekillt...

Nun ja, ich dneke, dass ist auch Sinn und Zweck der Aktion oder?
Zitat:

... es gibt ne bessere Variante die den Prozess noch seine Aufgaben zu Ende bringen lässt...
fällt mir grad nicht so ein , aber es geht mit einem ExitCode
ich guck nochmal nach dann sag ich Bescheid
Ich bin gespannt....

Budda 4. Sep 2003 15:32

Re: Windows Prozess killen
 
Das mit KillProcess klappt schon da das ein Prozess ist der des öfteren hängenbleibt und dadurch lässt sich Windows nicht mehr beenden.

Allerdings bekomm ich noch den oben beschriebenen Fehler. Und wenn ich das ganze nun daran koppeln will das er das automatisch macht wenn man Windows beendet passiert gar nichts mehr. So siehts aus:
Delphi-Quellcode:
procedure TForm1.WMQueryEndSession(var M : TWMQueryEndSession);
var
  a : integer;
  i : integer;
begin
  inherited;
  Listbox1.Clear;
  GetProcessList(Listbox1.Items);
  for I:=0 to A do
    if Listbox1.Items.Strings[I] = 'Genesis.EXE' then
      KillProcess(GetProcessID(Listbox1.Items.Strings[I]));
end;

Tyrael Y. 4. Sep 2003 15:45

Re: Windows Prozess killen
 
Zitat:

Ich bin gespannt....
Hol dir ein Handle und dann...

GetExitCodeProcess(Handle, ExitCode);
ExitProcess(ExitCode);


so hat das bei mir super geklappt wenn der Prozess noch Aufgaben
hatte die er noch nicht erledigt hatte


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:13 Uhr.
Seite 2 von 2     12   

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