![]() |
Programm soll sich nicht beenden lassen
Hi,
ich komme in letzter Zeit immer mal wieder auf die Powertaste, wenn ich eigentlich in Delphi auf F12 drücken will. Deshalb brauche ich ein Programm, welches sich nicht beenden lässt, wenn Windows alle Programme abknallt, um den Shutdownvorgang abzubrechen (ist klar, dass ich keine Viren programmieren will, ist wirklich nur für mich persönlich). Mit CanClose := False kann ich zwar verhindern, dass man es mit Alt+F4 oder dem Schließenbutton beendet, aber Windows würde mein Programm dennoch beenden können. Ich möchte eigentlich nur einen kleinen Button, der das manuelle Schließen ermöglicht, damit ich meinen PC, wenn ich wirklich will, auch herunterfahren kann --> Man muss das noch mit einer Booleanvariable verbinden. Irgendwelche Ideen ? |
Re: Programm soll sich nicht beenden lassen
Zitat:
Wenn dus mit so einem Programm machen willst hast du das Problem, dass alle Programme, die vor deinem die Meldung kriegen, runterzufahren, sich schliessen. Im Wort-Case kann es also passieren, dass du wiedermal auf den Power-Button kommst, alle Programme zu sind, und am Schluss halt der PC nicht runterfaehrt. ;) greetz Mike |
Re: Programm soll sich nicht beenden lassen
Und wie deaktiviere ich ihn ?
|
Re: Programm soll sich nicht beenden lassen
Zitat:
greetz Mike |
Re: Programm soll sich nicht beenden lassen
Hm, da gibt es bei mir nur "Beim Drücken des Netzschalters am Computer : Computer Herunterfahren". Der Rest trifft nicht auf die Powertaste zu. Der Powerknopf am PC (NICHT an der TASTATUR) darf niemals deaktiviert werden, weil dies eine gute Methode ist, bei einem Absturz den PC ordentlich herunterzufahren (wenn mir manchmal z.B. nach einem Mod-test GTA-SA angestürzt ist, war dies die perfekte Lösung).
|
Re: Programm soll sich nicht beenden lassen
Entweder:
1. Mach ein Button auf die form, welche das schließen freigibt:
Delphi-Quellcode:
2. Programmiere in Programm:
procedure OnButtonClick...
begin StopBlock := true; close; end; procedure OnCloseQuery... begin CanClose := StopBlock; end; Deaktiviere den Button, wenn "Delphi" läuft. |
Re: Programm soll sich nicht beenden lassen
Fange den Vorgang des Herunterfahres ab mit WMQueryEndSession.
|
Re: Programm soll sich nicht beenden lassen
Zitat:
Zitat:
|
Re: Programm soll sich nicht beenden lassen
Zitat:
|
Re: Programm soll sich nicht beenden lassen
Zitat:
|
Re: Programm soll sich nicht beenden lassen
Zitat:
|
Re: Programm soll sich nicht beenden lassen
Zitat:
Zitat:
|
Re: Programm soll sich nicht beenden lassen
Zitat:
|
Re: Programm soll sich nicht beenden lassen
Ich konnte meinen PC insgesamt ca. 3x vor dem Runterfahren mit Trillian stoppen, dann konnte ich wieder alles starten und alles war in Ordnung. Damit habe ich zum Glück ausnahmsweise noch keine Probleme.
|
Re: Programm soll sich nicht beenden lassen
Luckie, heißt ja nicht das sein "Abfang Programm" als letztes gekillt wird.
Ich will meinen rein gefühlsmässig, dass Windows wenn es runterfährt die Programme in einer Art "Rückwärts-Zählschleife" beendet. Eigendlich sollte es auch delphi merken wenn Windows runterfährt und der Debugger sagt das er läuft und ob er beendet und dann gespeichert werden soll. (So jedenfalls bei mir). |
Re: Programm soll sich nicht beenden lassen
Zitat:
Zitat:
Warum dann nicht WM_QueryEndSession in einem globalen Hook "abfangen". Kann man zumindest mal probieren. |
Re: Programm soll sich nicht beenden lassen
Und was heißt das wieder konkret ? :( Ich spüre schon, das ist nicht so leicht.
|
Re: Programm soll sich nicht beenden lassen
Zitat:
Ein Prog, welches Windows am beenden hindert reicht doch schon. Im Idealfall also das Prog, welches auch nicht beendet werden soll.
Delphi-Quellcode:
aus diesem
procedure WMQueryEndSession(var Msg: TMessage); message WM_QUERYENDSESSION;
...... procedure TForm1.WMQueryEndSession; begin Msg.Result := 0; //Windows muss das Runterfahren stoppen CleanALL; Down := true; Msg.Result := 1; //Windows darf Runterfahren end; ![]() Ich hoffe es hilft. |
Re: Programm soll sich nicht beenden lassen
Zitat:
|
Re: Programm soll sich nicht beenden lassen
@kalmi01: Werde es probieren, danke.
@sirius: Das ist der Idealfall, aber schwer für mich zu programmieren. |
Re: Programm soll sich nicht beenden lassen
Hi Nils.
Zitat:
Leider kann ich den Thread nicht ausfindig machen. Und PS: Außer du fährst "hart" runter... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:11 Uhr. |
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