Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Beim runterfahren automatisch Prozesse beenden? (https://www.delphipraxis.net/7435-beim-runterfahren-automatisch-prozesse-beenden.html)

hircusmutzus 12. Aug 2003 10:26


Beim runterfahren automatisch Prozesse beenden?
 
Hi,
mal wieder ne kleine Frage: Wenn ich nach dem Beispiel den Rechner Reboote bzw. Runterfahre, werden dann auch Programme wie z.B. Winamp, Word, Outlook etc. beendet? Wenn nicht, wie kann man so was machen?
Ich will mir nämlich nen "Dimmer" für den PC machen. Da ich alle Musik auf dem PC hab und beim Abends-im-Bett-liegen gerne noch Musik höre, könnte ich dann einen Countdown einstellen, und dann würde der PC die offenen Programme beenden und runterfahten!

Danke für Infos,
MfG Matthias Volland

alcaeus 12. Aug 2003 10:31

Re: Beim runterfahren automatisch Prozesse beenden?
 
Mit Hilfe von WinAPI-FUnktionen kannst du Prozess-IDs herausfinden und diese dann beenden. Falls du dich nicht mit WinAPI auskennst, kann ich helfen.

hircusmutzus 12. Aug 2003 10:33

Re: Beim runterfahren automatisch Prozesse beenden?
 
Danke, also ich kenn mich damit nicht wirklich aus :)!
Naja, hast du irgendwie ein tut, einen Quelltext o.ä.?

MfG Matthias Volland

Illuminator-23-5 12. Aug 2003 10:34

Re: Beim runterfahren automatisch Prozesse beenden?
 
wenn du EWX_FORCE als parameter nimmst, brauchst du dich nicht darum kümmern!! da müsste er theroretisch alle progs von alleine abschießen!

andererseits könntest du alle handles beenden, da glaube ich laufen die prozesse aber im hintergrund noch weiter [bin aber nicht ganz sicher]

hircusmutzus 12. Aug 2003 10:38

Re: Beim runterfahren automatisch Prozesse beenden?
 
@Illuminator-23-5: könntest du vielleicht etwas präziser werden??? :roll: Ich bin hier grad informationstechnisch ganz auf der Höhe!!!

MfG Matthias Volland

alcaeus 12. Aug 2003 10:42

Re: Beim runterfahren automatisch Prozesse beenden?
 
Mit OpenProcess(PROCESS_ALL_ACCESS, False, Proc_ID) kannst du einen Prozess öffnen. Dann mit ExitProcess(0) den Prozess beenden.
Dazu musst du aber zuerst die ganzen Prozess-IDs in einer Liste eingeben, sorry, ich weiß auch nicht wie man diese findet.

hircusmutzus 12. Aug 2003 10:44

Re: Beim runterfahren automatisch Prozesse beenden?
 
@alcaeus: Jo danke, ich werd mich noch mal weiter umschauen! Irgendwie hab ich mir das unkomplizierter vorgestellt!!!
Aber trotzdem Danke für die Mühe!

MfG Matthias Volland

Illuminator-23-5 12. Aug 2003 11:01

Re: Beim runterfahren automatisch Prozesse beenden?
 
du könntest
1. ExitWindowsEx(EWX_FORCE, 0); dadurch schaltet er den PC einfach ab[eine art reset ohne neu zu starten)
2. du könntest durch folgenden source alle handles herausfinden:

var
H: HWnd;
begin
h := Application.Handle;
while h > 0 do begin
SetLength(handleList, length(handleList) + 1);
HandleList[Length(HandleList)-1] := h;
h := getnextwindow(h,GW_HWNDNEXT);
end;
end;

die dann alle beenden und dann mit ExitWindowsEx(EWX_SHUTDOWN, 0) herunterfahren, bin mir aber nicht sicher, dass das klappt

ich persönlich würde das 1. nehmen

hircusmutzus 12. Aug 2003 11:06

Re: Beim runterfahren automatisch Prozesse beenden?
 
Ist es nicht "ungesund" den PC quasi immer zu resetten?

MfG Matthias Volland

P.S.: Ich hab auch noch grad was in der Code-Library von Luckie gefunden... -> http://www.delphipraxis.net/internal...light=prozesse

alcaeus 12. Aug 2003 11:09

Re: Beim runterfahren automatisch Prozesse beenden?
 
Ja,du könntest diesen Code verwenden, die Prozesse in einer CheckListBox auflisten und dann alle markierten in einer Timer-ROutine "abschießen". Das müsste auf alle Fälle funktionieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:10 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz