AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Programm soll sich nicht beenden lassen
Thema durchsuchen
Ansicht
Themen-Optionen

Programm soll sich nicht beenden lassen

Ein Thema von Nils_13 · begonnen am 10. Jan 2007 · letzter Beitrag vom 11. Jan 2007
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von Luckie
Luckie

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

Re: Programm soll sich nicht beenden lassen

  Alt 10. Jan 2007, 10:32
Zitat von Harry M.:
Fange den Vorgang des Herunterfahres ab mit WMQueryEndSession.
Und was nützt ihm das? Windows beendet alle Programme die vor seinem die Nachricht bekommen und dann steht er da mit einem halben System und muss neu starten.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#12

Re: Programm soll sich nicht beenden lassen

  Alt 10. Jan 2007, 10:35
Zitat von Luckie:
Zitat von Harry M.:
Fange den Vorgang des Herunterfahres ab mit WMQueryEndSession.
Und was nützt ihm das? Windows beendet alle Programme die vor seinem die Nachricht bekommen und dann steht er da mit einem halben System und muss neu starten.
Ich weiß ja nicht, wie dein System aussieht, aber bei mir werden höchstens diese Programme abgeschossen: Trillian, Explorer, FF, Delphi, Player. Neustarten ? Wozu ? Es ist bloß enorm nervig, wenn der PC erst neustartet, alles neu laden muss...

Zitat von sirius:
Zitat von Nils_13:
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).
Und was ist mit dem Tastaturteiber?
Falls du Systemsteurung --> Tastatur meinst : Nichts.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Programm soll sich nicht beenden lassen

  Alt 10. Jan 2007, 10:41
Zitat von Nils_13:
Zitat von Luckie:
Zitat von Harry M.:
Fange den Vorgang des Herunterfahres ab mit WMQueryEndSession.
Und was nützt ihm das? Windows beendet alle Programme die vor seinem die Nachricht bekommen und dann steht er da mit einem halben System und muss neu starten.
Ich weiß ja nicht, wie dein System aussieht, aber bei mir werden höchstens diese Programme abgeschossen: Trillian, Explorer, FF, Delphi, Player. Neustarten ? Wozu ?
Es gibt auch noch unsichtbare Fenster deren zugehörige Prozesse beendet werden. Und da wäre ich mir eben nicht so sicher, obn da nicht was wichtiges dabei ist.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#14

Re: Programm soll sich nicht beenden lassen

  Alt 10. Jan 2007, 10:43
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.
  Mit Zitat antworten Zitat
Benutzerbild von Harry M.
Harry M.

Registriert seit: 29. Okt 2004
Ort: Halle
462 Beiträge
 
#15

Re: Programm soll sich nicht beenden lassen

  Alt 10. Jan 2007, 11:05
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).
Harry
Gruß Harry
www.H-Soft.info
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#16

Re: Programm soll sich nicht beenden lassen

  Alt 10. Jan 2007, 11:26
Zitat von Harry M.:
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).
Für dein Gefühl hat Windows anscheinend eine Liste:
Zitat von msdn:
SetProcessShutdownParameters

Sets shutdown parameters for the currently calling process. This function sets a shutdown order for a process relative to the other processes in the system.

Warum dann nicht WM_QueryEndSession in einem globalen Hook "abfangen". Kann man zumindest mal probieren.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#17

Re: Programm soll sich nicht beenden lassen

  Alt 10. Jan 2007, 11:38
Und was heißt das wieder konkret ? Ich spüre schon, das ist nicht so leicht.
  Mit Zitat antworten Zitat
kalmi01
(Gast)

n/a Beiträge
 
#18

Re: Programm soll sich nicht beenden lassen

  Alt 10. Jan 2007, 11:48
Zitat:
Warum dann nicht WM_QueryEndSession in einem globalen Hook "abfangen".
Warum so umständlich ?
Ein Prog, welches Windows am beenden hindert reicht doch schon.
Im Idealfall also das Prog, welches auch nicht beendet werden soll.

Delphi-Quellcode:
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;
aus diesem Thread
Ich hoffe es hilft.
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#19

Re: Programm soll sich nicht beenden lassen

  Alt 10. Jan 2007, 11:55
Zitat von kalmi01:
Zitat:
Warum dann nicht WM_QueryEndSession in einem globalen Hook "abfangen".
Warum so umständlich ?
Ein Prog, welches Windows am beenden hindert reicht doch schon.
Im Idealfall also das Prog, welches auch nicht beendet werden soll.
Weil ich in der Annahme bin, dass er nicht nur verhindern will, dass sein selbst programmiertes Programm beendet wird. Er möchte es bei allen Programmen/Prozessen.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#20

Re: Programm soll sich nicht beenden lassen

  Alt 10. Jan 2007, 12:47
@kalmi01: Werde es probieren, danke.
@sirius: Das ist der Idealfall, aber schwer für mich zu programmieren.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 05:39 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