![]() |
Secure Message Handling in Delphi wie?
Ich habe eine Frage, wie kann ich meinem Programm die Intelligenz vermitteln, daß es merkt, wenn es abgeschossen wird und vorher noch eine Nachricht erscheint: willst du das Programm wirklich beenden?
Beispiel: Taskmanager führt einen Terminate Process auf meine Project1.exe, normalerweise geht Project1.exe stumm zu, aber meine aufmerksame Project1.exe will vorher nochmal nachfragen mit einer Messagebox z.B.: willst du das Programm wirklich beenden? Weiß jemand wie das geht? |
Re: Secure Message Handling in Delphi wie?
Wenn das Programm "gewaltsam" geschlossen wird, kann es diese Entscheidung doch nicht mehr selbst treffen. :gruebel: Das ist doch der Sinn der Sache. Wenn du möchtest das dein Programm nachfragt, solltest du es mit Close; schließen.
[Edit] Im OnCloseQuery z.B.:
Delphi-Quellcode:
Ich bin erstaunt. :)
CanClose := MessageBox(0, 'Schließen', 'Wirklich beenden?', MB_YESNO + MB_ICONQUESTION) = idYes;
[/Edit] MfG freak |
Re: Secure Message Handling in Delphi wie?
Am Einfachsten mit dem Event onCloseQuery des Hauptformulars oder direkt auf Nachricht des BS abfangen.
|
Re: Secure Message Handling in Delphi wie?
Zitat:
Irgendwo habe ich mal einen C Source Code dafür gesehen, aber leider keinen in Delphi. |
Re: Secure Message Handling in Delphi wie?
Zitat:
MfG freak |
Re: Secure Message Handling in Delphi wie?
Ein kleiner delphi-code wäre ganz nett zum verdeutlichen.
HIer ein Beispiel, aber das schützt nicht vor terminate process vom taskmanager, nur durch klick auf die Form:
Delphi-Quellcode:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin mResult := MessageBox(self.Handle,'Save before Quit?','Confirm',MB_YESNOCANCEL or MB_ICONQUESTION); end; |
Re: Secure Message Handling in Delphi wie?
Zitat:
[Edit]
Delphi-Quellcode:
Dadurch wird das Schließen auf der Ebene verhindert. :)
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin CanClose := False; end; [/Edit] MfG freak |
Re: Secure Message Handling in Delphi wie?
Ja, aber siehe oben, nicht bei Terminate Process.
OnDestroy wäre logisch, aber die Form merkt ja nicht wann sie abgeschossen wird, das Ereignis wäre erst da, wenn die Form schon gekillt ist, also geht auch nicht. |
Re: Secure Message Handling in Delphi wie?
Zitat:
Wieso willst du denn das Beenden des Programms verhindern? MfG freak |
Re: Secure Message Handling in Delphi wie?
Gegen den Kill kannst du nichts machen; das soll man auch nicht. Ich will schliesslich noch entscheiden koennen, ob ich was abschiesse.
Wenn es ein Programm auf einem oeffentlichen Computer ist, das nicht geschlossen werden soll, dann wuerde ich dir einen Dienst empfehlen; diese koennen nur von Administratoren gestoppt werden. Greetz alcaeus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:08 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