AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Windows beendet Programm nicht

Ein Thema von Matze · begonnen am 6. Aug 2005 · letzter Beitrag vom 6. Aug 2005
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#11

Re: Windows beendet Programm nicht

  Alt 6. Aug 2005, 23:19
Zitat von TStringlist:
Das wäre eigentlich nur dann möglich, wenn deine Application noch mehr Formen hätte und eine davon die QueryEndSession-Message davor schon bekommen und diese mit False beantwortet hätte.
Guter Tipp!
Als ich das gelesen habe ist mir siedend heiß eingefallen, dass das Hauptfenster von Delphi-Anwendungen ja ein unsichtbares ist (darum können Application.Title und MainForm.Caption unterschiedlich sein!).

Du kriegst gar kein WM_QUERYENDSESSION / WM_ENDSESSION, weil dein Hauptfenster nicht das Hauptfenster der Anwendung ist!

[... ich schau gerade mal in der OH ...]

Hmmm... in TApplication.WndProc in Forms.pas sieht das so aus:
Delphi-Quellcode:
WM_ENDSESSION:
  if TWMEndSession(Message).EndSession then
  begin
    CallTerminateProcs;
    Halt;
  end;
WM_QUERYENDSESSION:
  Message.Result := 1;
Sollte normalerweise also alles funktionieren...
Volker
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#12

Re: Windows beendet Programm nicht

  Alt 6. Aug 2005, 23:31
Noch was (sorry für zwei Posts hintereinander)

Zitat von Matze:
Also mein Msg-Log zeigt, dass folgende Messages aufgerufen werden (lParam):

Zitat:
0, 1, 1239556, 1240484, 1240528, 1241896, 1241952, 1241972, 1242004, 1242100, 1242968, 1243456, 1243896, 1243932, 1243940, 1376837, 9647792, 12321082, 12321301, 12779825, 13697557, 1244844, 316, 11469105, 1243568, 1243612, 1243920, 15008277, 1716, 1769796
Wohl am wichtigsten: Gegen Ende des Programmes:

Zitat:
512, 516, 517, 9647952, 9654092
Kann man irgendwo nachsehen, was welche Message ist? Im MSDN finde ich dazu nichts.
Kannst du in Message.pas nachschlagen.
Code:
512      $0200   WM_MOUSEMOVE
516      $0200   WM_RBUTTONDOWN
517      $0200   WM_RBUTTONUP
9647952  $933750 ??? RegisterWindowMessage
9654092  $934F4C ??? RegisterWindowMessage
Kann nicht viel daraus erkennen. Die beiden hohen Meldungsnummer scheinen mit RegisterWindowMessage registriert worden zu sein.

Evtl. sind Fenstermeldungen auch Atoms und du kannst den Namen über GlobalGetAtomName ermitteln.
Volker
  Mit Zitat antworten Zitat
Benutzerbild von gsh
gsh

Registriert seit: 24. Okt 2004
1.542 Beiträge
 
Delphi XE Architect
 
#13

Re: Windows beendet Programm nicht

  Alt 6. Aug 2005, 23:37
ich muss ehrlich sein ich verstehe nicht alles was ihr da mit WM_QUERYENDSESSION und WM_ENDSESSION und so weiter redet aber ich hatte einmal mit meinem Prog. ganz genau des gleiche Problemm. Es war ein kleines Prog. des im hintergrund lief und mir eine Meldung gab wenn ich ein neues e-mail in meiner Mailbox hatte aber als ich des Windows XP auschalten wollte weigerte es sich ganz penetrant dagegen ich hab echt ewig meinen source durchsucht (es war ja nicht viel) aber nichts.

Nur durch diesen Code zog des Prog. dann endlich beim beenden mit:
Delphi-Quellcode:
procedure TForm1.WMQueryEndSession(var M: TWMQueryEndSession);
begin
  inherited;
  close;
end;
Alex
"Sage nicht alles, was du weißt, aber wisse alles, was du sagst!" Matthias Claudius
"Wer sich über Kritik ärgert, gibt zu, daß er sie verdient hat." Tacitus
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 14:45 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