![]() |
PostMessage mit WM_CLOSE funktioniert nicht
Hallo,
bei einem bestimmten Ereignis, welches im OnActivate Ereignis bzw der FormActivation-Prozedur abgefragt wird, möchte ich meine Applikation schließen und die Weiternutzung verhindern. Das habe ich versuchsweise mit:
Delphi-Quellcode:
PostMessage(Handle, WM_CLOSE, 0, 0);
gelöst. Innerhalb von Delphi XE funzt das auch problemlos, starte ich die Applikation aber direkt außerhalb von Delphi, bleibt dieser Befehl wirkungslos. Was kann man da tun ? |
AW: PostMessage mit WM_CLOSE funktioniert nicht
Grundsatzfrage: Warum lässt du überhaupt das Fenster erst aufgehen und brichst es nicht schon vorher ab?
|
AW: PostMessage mit WM_CLOSE funktioniert nicht
PostQuitMessage(0);
|
AW: PostMessage mit WM_CLOSE funktioniert nicht
Zitat:
Delphi-Quellcode:
Application.Terminate;
Aber wie gesagt, man kann natürlich erst vollgas geben, und wirft danach den Anker raus, bzw. schießt mit einem Panzer den Motorblock weg, anstatt man garnicht erst losfährt. |
AW: PostMessage mit WM_CLOSE funktioniert nicht
Deine Analogien werden auch immer wilder :wiejetzt:
|
AW: PostMessage mit WM_CLOSE funktioniert nicht
Zitat:
Application.Terminate funktioniert übrigens nicht, das hab ich schon getestet. |
AW: PostMessage mit WM_CLOSE funktioniert nicht
So besser?
PS: Wenn dein Programm im Hintergrund startet, garnicht erst den Fokus bekommt, dann würde die Form wohl nicht aktiviert (bekommt den Eigabefokus nicht) und würde schön sichtbar bleiben und man könnte alles stundenlang sehen, wenn man den Vordergrundprozess zur Seite schiebt. Und solange dein Programme/Fenster dann den Fokus nicht bekommt, kann man per Messages alles damit machen. |
AW: PostMessage mit WM_CLOSE funktioniert nicht
@himitsu
Macht immer wieder spaß deine Schnitzereien zu lesen :thumb: gruss |
AW: PostMessage mit WM_CLOSE funktioniert nicht
Zitat:
Delphi-Quellcode:
program MeineTolleAnwendung;
begin // hier ist der Start des Programms, hier prüfen if EinBesondererMoment then Exit; Application.Initialize; Application.CreateForm( TForm1, Form1 ); Application.Run; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:09 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