Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Passwortschutz zum Beenden (https://www.delphipraxis.net/139482-passwortschutz-zum-beenden.html)

Delphi-Narr 29. Aug 2009 16:49


Passwortschutz zum Beenden
 
Hallo nochmal!
Mein nächstes Problemchen ist, dass ich gerne eine Art Passwortschutz für meinen Desktop haben möchte.
Man muss erst ein Passwort eingeben, damit das Programm beendet werden kann.
Muss nichts sein, was sich auch im Quelltext verteidigt, nur oberflächlich.
Man darf das Fenster nicht durch das X schließen können, nicht minimieren oder verkleinern können, nicht durch Alt+Tab wechseln können und auch nicht im Taskmanager beenden können. Es muss solange laufen, bis das Passwort eingegeben wird.
Ist doch bestimmt machbar?!! Das Ding aus dem Internet find ich hässlich und wollte deshalb ein eigenes.
LG

:gruebel:

patti 29. Aug 2009 17:03

Re: Passwortschutz zum Beenden
 
Wenn ich mich richtig erinnere gibt es schon einige Threads in der DP zu diesem Thema, teilweise enthalten sie auch sehr kritische Äußerungen über das Verhindern des Schließens von Programmen. Was dir aber trotzdem schonmal helfen könnte ist das Ereignis "OnCloseQuery" des Formulars. Dort kannst du über den Parameter "CanClose" bestimmen, ob das Fenster (und bei deiner Main-Form somit gleichzeitig die Applikation) geschlossen werden kann.

mfG
Patti

Delphi-Narr 29. Aug 2009 18:08

Re: Passwortschutz zum Beenden
 
Also mit CanClose klappt. Jetzt muss ich nur noch das minimieren und durch Alt+Tab verursachtes hin- und herschalten abstellen...

Luckie 29. Aug 2009 19:53

Re: Passwortschutz zum Beenden
 
Warum sperrst du den Rechner nicht einfach mit Windows Bordmitteln? Das ist am einfachsten und am sichersten.

Progman 29. Aug 2009 20:13

Re: Passwortschutz zum Beenden
 
Ein ähnliches Problem hatten wir auch mal zu meistern ;)
Hintergrund: Ein kleiner Tipptrainer für Kids (ab ? bis ca. 12) mit paar kleinen integrierten Spielen.
Das Programm nahm den gesamten Desktop ein, damit der/die Kleene nicht abgelenkt wurde.
Und wenn Papi das Programm gestartet hatte und wegging, sollte der/die Kleene es nicht einfach beenden können, um dann mal eben Papas Desktop "aufzuräumen" oder sonstigen Unsinn zu machen ;)
Lösung war eine DLL, die einen Tastatur-Hook enthielt und wesentliche Steuertasten blockte, außer Ctrl-Alt-Delete. Da hab ich mich geweigert, weil das m.M. nach zu weit geht, obwohl es die Verlagsfritzen/Auftraggeber gern hätten.
So erschien beim Beenden wollen des Programms ein Dialog, in dem ein Passwort eingegeben werden musste. Erst dann wurde es beendet.
Den Tastatur-Hook-Code habe ich mir damals hier im Forum geholt.

Luckie 29. Aug 2009 20:41

Re: Passwortschutz zum Beenden
 
Zitat:

Zitat von Progman
wesentliche Steuertasten blockte, außer Ctrl-Alt-Delete.

dafür hättest du auch entweder einen Tastaturtreiber benötigt oder eine Erweiterung der Gina.

Zitat:

Zitat von Progman
um dann mal eben Papas Desktop "aufzuräumen" oder sonstigen Unsinn zu machen ;)

Warum hat der Kleine kein eigenes Benutzerprofil?

Ich verstehe das nicht, und damit meine ich nicht unbedingt diesen Thread sondern mehr so allgemein, da werden sämtliche Sicherheitsfeatures die Windows bietet ignoriert und dann wird wieder versucht mit eigenen Mittel diese Sicherheitsfeatures nachzuprogrammieren. Was soll der Unsinn? Ich meine ihr würdet doch bestimmt auch kein Auto kaufen, die Bremsen ausbauen und dann im Keller selbst gebastelte Bremsen einbauen.

Question_mark 29. Aug 2009 21:38

Re: Passwortschutz zum Beenden
 
Hallo,

Zitat:

Zitat von Luckie
Ich meine ihr würdet doch bestimmt auch kein Auto kaufen, die Bremsen ausbauen und dann im Keller selbst gebastelte Bremsen einbauen.

Nicht unbedingt.. Aber stelle Dir mal vor, ich möchte einfach verhindern, dass der Autofahrer während der Fahrt aussteigt, einen Bremsfallschirm zieht oder im Betriebssystem des Autocomputers das ABS, ESP und so weiter ausschaltet.

Ich schreibe viele individuelle Visualisierungssysteme mit Delphi im Zusammenhang mit SPS-Steuerungen, da muss ich einfach verhindern, dass der Maschinenbediener die Blutgrätsche in das Betriebssystem macht. Eigentlich kann man alles in Windows über die Registry abblocken, aber nicht den berühmten Affengriff Ctrl+Alt+Del, jedenfalls seit Win2000 (???) nicht mehr :mrgreen:

Und damit ich ganz einfach im Griff habe, was der Maschinenbediener oder das Wartungspersonal "sich erlaube dürfe", guckt Ihr hier :

http://www.kassl.de/winlock/index.shtml

Einfach problemlos, simpel und funktionell. Und übrigens genauso hervorragend wie die Delphi OPC-Clients vom Herrn Kassl.

Gruß

Question_mark

Luckie 29. Aug 2009 21:43

Re: Passwortschutz zum Beenden
 
Für Windows XP gibt es eine Kioskmode Software kostenlos von Microsoft.

Davon abgesehen, sind das in deinem Fall Sonderfälle, wo man das noch nachvollziehen kann.

Question_mark 29. Aug 2009 22:00

Re: Passwortschutz zum Beenden
 
Hallo,

Zitat:

Zitat von Luckie
Davon abgesehen, sind das in deinem Fall Sonderfälle,

Ob das jetzt wirklich ein Sonderfall ist, will ich mal anzweifeln. Natürlich gibt es ein Segment von Anwendungen unter einem OS wie Windows im Heimbereich, aber alleine mit der Verwaltung von den Usern im Homebereich ist der Papa oft schon ganz schön überfordert. Und ich habe es auch schon im industriellen Bereich erlebt, dass Systemadministratoren da selber nicht mehr durchgeblickt haben.

Unterschätze bitte nicht den Anteil von M$ Windows im industriellen Bereich, vor allem weil ja aus diesem Bereich auch die Lizenzen wirklich teuer und ehrlich gekauft werden, und das betrifft Delphi genauso.

Gruß

Question_mark

jaenicke 29. Aug 2009 22:06

Re: Passwortschutz zum Beenden
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Question_mark
Eigentlich kann man alles in Windows über die Registry abblocken, aber nicht den berühmten Affengriff Ctrl+Alt+Del, jedenfalls seit Win2000 (???) nicht mehr :mrgreen:

Wie kommst du darauf? Über Policies oder die Registry direkt kannst du den Taskmanager usw. einfach deaktivieren. Auch in Vista z.B., das geht weiterhin, wäre bei Firmenrechnern sonst auch nicht so schön.

// EDIT:
Siehe Anhang. :D

Progman 29. Aug 2009 22:28

Re: Passwortschutz zum Beenden
 
Zitat:

Zitat von Luckie
Zitat:

Zitat von Progman
wesentliche Steuertasten blockte, außer Ctrl-Alt-Delete.

dafür hättest du auch entweder einen Tastaturtreiber benötigt oder eine Erweiterung der Gina.

Zitat:

Zitat von Progman
um dann mal eben Papas Desktop "aufzuräumen" oder sonstigen Unsinn zu machen ;)

Warum hat der Kleine kein eigenes Benutzerprofil?

Ich verstehe das nicht, und damit meine ich nicht unbedingt diesen Thread sondern mehr so allgemein, da werden sämtliche Sicherheitsfeatures die Windows bietet ignoriert und dann wird wieder versucht mit eigenen Mittel diese Sicherheitsfeatures nachzuprogrammieren. Was soll der Unsinn? Ich meine ihr würdet doch bestimmt auch kein Auto kaufen, die Bremsen ausbauen und dann im Keller selbst gebastelte Bremsen einbauen.

@Luckie: Wir machen Programme, die in mittleren bis großen Mengen verkauft werden, und die müssen wir nun mal so gestalten, wie unsere Auftraggeber (div. Verlage u. Distributoren) es wollen.
Und diese Verlagsmenschen haben meist nicht viel Ahnung vom Betriebssystem und die Programme selbst sollen ja auch für Jedermann sein, da kann man kein Beipackheftt dazulegen, wie man Windows für bestimmte Gelegenheiten einrichtet ;)
Und, nebenbei bemerkt, ist es gar nicht so einfach, DAU-sichere Programme zu schreiben. Man glaubt nicht, auf was User alles kommen... ;)

Luckie 29. Aug 2009 22:46

Re: Passwortschutz zum Beenden
 
Wie schon gesagt, das sind Sonderfälle und Spezialanfertigungen. wenn ich spezielle Bremsen haben will gehe ich ja auch in eine Werkstatt, die darauf spezialisiert ist.

Zitat:

Zitat von Progman
Man glaubt nicht, auf was User alles kommen... ;)

Wahre Worte. ;)

Question_mark 29. Aug 2009 22:51

Vista ???
 
Hallo,

Zitat:

Zitat von jaenicke
Wie kommst du darauf? Über Policies oder die Registry direkt kannst du den Taskmanager usw. einfach deaktivieren. Auch in Vista z.B., das geht weiterhin, wäre bei Firmenrechnern sonst auch nicht so schön.

Wie ich darauf komme ?? Der ganze Policy und Registry Sch..ss interessiert mich nicht. Ich bin kein Windows Systemadministrator, sondern will meinen Kunden eine individuelle Systemlösung zur Anbindung einer beliebigen SPS-Steuerung an eine Visualisierung, BDE oder Datenbank bieten. Es gibt nur zwei User, das ist eben der Maschinenbediener ... Und nebenbei der verantwortliche Bereichsingenieur beim Kunden. Der bekommt über ein Passwort via dWinLock den vollen Zugriff auf das System.

Und zum Thema Vista, wer in der Industrie hat ein Vista System installiert :warn:

Das findet man nicht mal in einem Karussel auf der Kirmes ...

Gruß

Question_mark

Medium 30. Aug 2009 01:27

Re: Passwortschutz zum Beenden
 
Zitat:

Zitat von Luckie
Zitat:

Zitat von Progman
wesentliche Steuertasten blockte, außer Ctrl-Alt-Delete.

dafür hättest du auch entweder einen Tastaturtreiber benötigt oder eine Erweiterung der Gina.

Geht, am Rande erwähnt, auch schon über LL Maus/Tastatur Hooks. Greift sogar in Spielen die DirectInput verwenden.

rollstuhlfahrer 30. Aug 2009 08:37

Re: Passwortschutz zum Beenden
 
HI,

ich hab mir mal so ein Programm geschrieben, um in der SChule den Rechner zu sperren. Dies ist nämlich als Schüler nicht mit den Windows-Bordmitteln möglich, da die hier deaktiviert sind. So ein paar kleine Sachen dabei sind halt:

1.) CanClose (aus OnCloseQuery) muss auf FALSE stehen, solange das Programm nicht beendet werden darf. Danach muss es auf TRUE stehen.
2.) Die Anwendung muss immer im Vordergrund sein:
a) am Besten ohne Rahmen, dann ist auch kein X da
b) Formstyle := fsStayOnTop
c) da das noch nicht wirklich wirkt, benötigt man noch einen Timer, der alle 20 ms das Formular nach vorne bringt. So beugt man auch dem minimieren vor.
3.) Um Datenverlust durch eventuellen Herunterfahren zu vermeiden, sollte das Programm auch noch das Herunterfahren und Rebooten blocken.
4.) Zum Thema Task-Manager: Der ist bei mir an der Schule für schüler deaktiviert, womit sich hier das Problem von selbst löste. Man kann ihn aber auch suchen und beenden lassen.

Bernhard

PS: Ich sehe nicht so direkt die Notwendigkeit eines Tastatur-Hooks.

patti 30. Aug 2009 13:40

Re: Passwortschutz zum Beenden
 
Ehrlich gesagt denke ich, dass das hier langsam "OffTopic" wird und die ursprüngliche Frage des Thread-Erstellers nicht beantwortet. Wie ich bereits oben geschrieben habe:

Zitat:

Zitat von patti
...gibt es schon einige Threads in der DP zu diesem Thema, teilweise enthalten sie auch sehr kritische Äußerungen über das Verhindern des Schließens von Programmen.

Über den Sinn oder Unsinn von solchen Methoden gibt es wirklich schon sehr viele Beiträge hier zu finden ;-)

Ist nur meine Meinung...

Patti

Edit: Die Antwort von "rollstuhlfahrer" ist da natürlich eine Ausnahme ;-)


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