![]() |
Re: Windows beendet Programm nicht
Zitat:
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:
Sollte normalerweise also alles funktionieren...
WM_ENDSESSION:
if TWMEndSession(Message).EndSession then begin CallTerminateProcs; Halt; end; WM_QUERYENDSESSION: Message.Result := 1; |
Re: Windows beendet Programm nicht
Noch was (sorry für zwei Posts hintereinander)
Zitat:
Code:
Kann nicht viel daraus erkennen. Die beiden hohen Meldungsnummer scheinen mit RegisterWindowMessage registriert worden zu sein.
512 $0200 WM_MOUSEMOVE
516 $0200 WM_RBUTTONDOWN 517 $0200 WM_RBUTTONUP 9647952 $933750 ??? RegisterWindowMessage 9654092 $934F4C ??? RegisterWindowMessage Evtl. sind Fenstermeldungen auch Atoms und du kannst den Namen über GlobalGetAtomName ermitteln. |
Re: Windows beendet Programm nicht
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; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:20 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