Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Programmbeendigung verhindern (https://www.delphipraxis.net/101818-programmbeendigung-verhindern.html)

KPBecker 18. Okt 2007 16:08


Programmbeendigung verhindern
 
Hallo, Delphi-Praktiker,

wie kann ich verhindern, daß ein Benutzer über das "X" oben rechts oder mit alt-F4 ein Programm beenden kann ?

Beste Grüße
Klaus-Peter

Bernhard Geyer 18. Okt 2007 16:09

Re: Programmbeendigung verhindern
 
Was ist der Sinn davon das der User nicht mehr die auf seinem PC gestarteten Programme beenden kann? Das würde mich stören und das Programm sofort wieder löschen.

bernau 18. Okt 2007 16:11

Re: Programmbeendigung verhindern
 
Im Ereignis OnCloseQuery die Variable CanClose auf False setzen.

KPBecker 18. Okt 2007 16:14

Re: Programmbeendigung verhindern
 
Hallo, Bernhard,

wenn das Programm von einem berechtigten/ registrierten Benutzer gestartet wurde (und laufend vor sich hin arbeitet), soll es auch nur von einem solchen Benutzer wieder beendet werden können und nicht von jemandem, der zufällig auf den Bildschirm schaut.

Klaus-Peter

OregonGhost 18. Okt 2007 16:16

Re: Programmbeendigung verhindern
 
Geht es also um fremde Programme?

Cyberbob 18. Okt 2007 16:18

Re: Programmbeendigung verhindern
 
Und wie soll er das können, wenn der Button nicht mehr funktioniert.




entweder du schreibst im OnClose ereigns deines Formulares
Delphi-Quellcode:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caNone;
end;
dadurch kann das formular nur noch über Application.Terminate geschlossen werden. Das ganze Programm wird beendet


Den Button selbst kannst du so deaktivieren

Delphi-Quellcode:
EnableMenuItem(GetSystemMenu(Form1.Handle, False), SC_CLOSE, MF_BYCOMMAND or MF_ENABLED);
und so wieder aktivieren

Delphi-Quellcode:
EnableMenuItem(GetSystemMenu(Form1.Handle, False), SC_CLOSE, MF_BYCOMMAND or MF_GRAYED);
dabei kann das rogramm noch über Alt+F4 schliessen

KPBecker 18. Okt 2007 16:19

Re: Programmbeendigung verhindern
 
Hallo, Oregon,

ich verstehe den Sinn der Rückfrage nicht.

Ich entwickle ein Programm, bei dem ein (kleiner) Schutz vor unberechtigtem Beenden eingebaut werden soll.

Klaus-Peter

Cyberbob 18. Okt 2007 16:20

Re: Programmbeendigung verhindern
 
Die Frage war so gemeint, ob du dein eigenes Programm so schützen willst oder ein Fremdes (z.B. Notepad oder sonst ein Programm)

Bernhard Geyer 18. Okt 2007 16:22

Re: Programmbeendigung verhindern
 
Zitat:

Zitat von KPBecker
wenn das Programm von einem berechtigten/ registrierten Benutzer gestartet wurde (und laufend vor sich hin arbeitet), soll es auch nur von einem solchen Benutzer wieder beendet werden können und nicht von jemandem, der zufällig auf den Bildschirm schaut.

Und was spricht dagegen das der User einfach den Rechner mit Windows-Bordmitteln sperren läßt?

freak4fun 18. Okt 2007 16:23

Re: Programmbeendigung verhindern
 
Alternativ auch das Programm mit einer Sperrvorrichtung ausstatten. Alos eine kleine Passwortabfrage oder etwas vergleichbares. :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:20 Uhr.
Seite 1 von 2  1 2      

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