AGB  ·  Datenschutz  ·  Impressum  







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

Secure Message Handling in Delphi wie?

Ein Thema von Delphijunkie2006 · begonnen am 31. Mär 2006 · letzter Beitrag vom 3. Apr 2006
Antwort Antwort
Seite 1 von 2  1 2      
Delphijunkie2006

Registriert seit: 30. Mär 2006
Ort: Stuttgart
37 Beiträge
 
#1

Secure Message Handling in Delphi wie?

  Alt 31. Mär 2006, 11:33
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?
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

Re: Secure Message Handling in Delphi wie?

  Alt 31. Mär 2006, 11:37
Wenn das Programm "gewaltsam" geschlossen wird, kann es diese Entscheidung doch nicht mehr selbst treffen. 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.:

CanClose := MessageBox(0, 'Schließen', 'Wirklich beenden?', MB_YESNO + MB_ICONQUESTION) = idYes; Ich bin erstaunt.

[/Edit]

MfG
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Secure Message Handling in Delphi wie?

  Alt 31. Mär 2006, 11:39
Am Einfachsten mit dem Event onCloseQuery des Hauptformulars oder direkt auf Nachricht des BS abfangen.
Markus Kinzler
  Mit Zitat antworten Zitat
Delphijunkie2006

Registriert seit: 30. Mär 2006
Ort: Stuttgart
37 Beiträge
 
#4

Re: Secure Message Handling in Delphi wie?

  Alt 31. Mär 2006, 11:48
Zitat:
Wenn das Programm "gewaltsam" geschlossen wird, kann es diese Entscheidung doch nicht mehr selbst treffen. Das ist doch der Sinn der Sache.
Falsch, irgendwie geht das, das ist auch eine Art Sicherheitsmechanismus.

Irgendwo habe ich mal einen C Source Code dafür gesehen, aber leider keinen in Delphi.
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#5

Re: Secure Message Handling in Delphi wie?

  Alt 31. Mär 2006, 11:51
Zitat von Delphijunkie2006:
Zitat:
Wenn das Programm "gewaltsam" geschlossen wird, kann es diese Entscheidung doch nicht mehr selbst treffen. Das ist doch der Sinn der Sache.
Falsch, irgendwie geht das, das ist auch eine Art Sicherheitsmechanismus.

Irgendwo habe ich mal einen C Source Code dafür gesehen, aber leider keinen in Delphi.
Ich habs mal schnell getestet und bin überrascht zu der Erkenntnis gekommen, das ich unrecht hatte. Deshalb mein Edit.

MfG
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Delphijunkie2006

Registriert seit: 30. Mär 2006
Ort: Stuttgart
37 Beiträge
 
#6

Re: Secure Message Handling in Delphi wie?

  Alt 31. Mär 2006, 12:11
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;
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#7

Re: Secure Message Handling in Delphi wie?

  Alt 31. Mär 2006, 12:16
Zitat von Delphijunkie2006:
Ein kleiner delphi-code wäre ganz nett zum verdeutlichen.
Du gehst auf das Formular, klickst auf Ereignisse(Events) im Objektinspektor und dann per Doppelklick auf das Feld hinter OnCloseQuery. Dann öffnet sich die Methode des Ereignisses und du kannst den oben geposteten Code rein setzen.

[Edit]

Delphi-Quellcode:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  CanClose := False;
end;
Dadurch wird das Schließen auf der Ebene verhindert.

[/Edit]



MfG
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Delphijunkie2006

Registriert seit: 30. Mär 2006
Ort: Stuttgart
37 Beiträge
 
#8

Re: Secure Message Handling in Delphi wie?

  Alt 31. Mär 2006, 12:17
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.
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#9

Re: Secure Message Handling in Delphi wie?

  Alt 31. Mär 2006, 12:24
Zitat von Delphijunkie2006:
Terminate Process
Dann ist das die Möglichkleit ein Programm zu beenden, ohne, dass das Programm etwas dagegen tun kann.

Wieso willst du denn das Beenden des Programms verhindern?

MfG
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#10

Re: Secure Message Handling in Delphi wie?

  Alt 31. Mär 2006, 12:36
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
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 16:26 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