Delphi-PRAXiS

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 Nicht beend bar (https://www.delphipraxis.net/69485-nicht-beend-bar.html)

_seeker 15. Mai 2006 21:23


Nicht beend bar
 
Hallo, gibt es eine möglichkeit, dass mein programm nicht beendet werden kann?

Dax 15. Mai 2006 21:25

Re: Nicht beend bar
 
Ja. Aber die wird man dir hier ohne vorbehalte auf keinen Fall verraten!

_seeker 15. Mai 2006 21:36

Re: Nicht beend bar
 
Hmm es ist kein virus, oder irgendwas anderes, ich muss ein programm für die schule schreiben. Aber die Kinder dürfen es nicht beenden.

Luckie 15. Mai 2006 21:39

Re: Nicht beend bar
 
In OnCloseQuery CanClose auf False setzen und das war es.

_seeker 15. Mai 2006 21:47

Re: Nicht beend bar
 
Fuck ich bin hier drauf gekommen

Delphi-Quellcode:
procedure TForm1.canclose(Sender: TObject; var Action: TCloseAction);
begin
canclose(false);
end;
Lol bin manchmal ein nOOb

Daniel 16. Mai 2006 07:13

Re: Nicht beend bar
 
Fein und für die Zukunft unterlässt Du hier bitte das f*ck-Wort. :roll:

jim_raynor 16. Mai 2006 07:42

Re: Nicht beend bar
 
Luckie hat schon die Stichworte genannt. OnCloseQuery ist ein Ereigniss von einem Formular. Wenn man in diesem den Parameter CanClose auf false setzt, wird das Formular nicht geschlossen.

ABER:! Über den Taskmanager kann in der Regel den Prozess problemlos beenden. Von daher müsstest du einen Dienst schreiben, der dann nur von einem Administrator beendet werden kann. Damit das klappt, darf der Nutzer aber nur über eingeschränkte Benutzerrechte verfügung, da er sonst Admin ist und den Prozess wieder via Taskmanager beenden kann ...

Flo85 16. Mai 2006 19:20

Re: Nicht beend bar
 
Zitat:

Zitat von jim_raynor
Luckie hat schon die Stichworte genannt. OnCloseQuery ist ein Ereigniss von einem Formular. Wenn man in diesem den Parameter CanClose auf false setzt, wird das Formular nicht geschlossen.

ABER:! Über den Taskmanager kann in der Regel den Prozess problemlos beenden. Von daher müsstest du einen Dienst schreiben, der dann nur von einem Administrator beendet werden kann. Damit das klappt, darf der Nutzer aber nur über eingeschränkte Benutzerrechte verfügung, da er sonst Admin ist und den Prozess wieder via Taskmanager beenden kann ...


Wie wäre es den wenn das programm sich selbst startet kurz befor es beendet wird
(also wenn onclose bzw onlosequery ausgelöst werden) und einen parameter übergibt damit das "neue programm" weris wo das alte war?

wie könte ich das beenden bzw unterbinden das es immer wieder gestartet wird?

mfg

Flo85

Olli 16. Mai 2006 19:33

Re: Nicht beend bar
 
Zitat:

Zitat von Flo85
Wie wäre es den wenn das programm sich selbst startet kurz befor es beendet wird
(also wenn onclose bzw onlosequery ausgelöst werden) und einen parameter übergibt damit das "neue programm" weris wo das alte war?

Bringt genauso wenig wie alle obigen Tips. Denn wie soll denn das Programm bitte mitbekommen, daß es beendet wird? Eben - garnicht! Deswegen kann man diese Variante genau wie Service und CanClose knicken.

Gebt euch doch mal endlich damit zufrieden, daß es nicht geht. Wenn jemand nicht in der Lage sein soll einen Prozess zu beenden, dann sollte der Prozeß seinen eigenen ACL eben so setzen, daß der (eingeschränkte!) Benutzer ihn eben nicht beenden kann. PUNKT!

Wenn ihr etwas wollt, wo man den Prozess definitiv nicht killen darf (auch wenn man es mit genügend Rechten kann), ladet eine DLL in Winlogon. Aber kleiner Tip: insbesonder Malware benutzt diese Methoden - und ab da solltet ihr "eventuell" Mal auf die Idee kommen, daß euch hier keiner abnimmt, daß es für legitime Zwecke ist, die man mit Bordmitteln nämlich sehr gut erreichen kann ...

Nach mehreren Jahren fällt mir auf, daß es immer Fragen in die Richtung: "Prozess nicht killen", "Strg+Alt+Entf blockieren" usw. sind. Ebenjene Fragen, die schon aufgrund ihrer Fragestellung eine gewisse Skepsis auslösen dürfen und müssen. All das mag völlig legitim sein, aber Software für Prozeßsteuerung (wie z.B. iFix) beweist seit Jahren, daß es geht aber eben spezieller Maßnahmen bedarf und dann aufgrund des Einsatzgebietes auch seine Bewandtnis hat.

Nicodius 16. Mai 2006 20:12

Re: Nicht beend bar
 
da stimmt ich olli in allen punkten überein

add
-> fragen stellen ok aber auch in ordnungsgemäßen ton


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:24 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