![]() |
Programm vor dem Beenden absichern
Hallo,
ich möchte ein Programm so absichern, dass es nur mit einem Passwort beendet werden kann. Das Programm ist das einzige was auf den Rechner laufen soll. Für Ideen und Anregungen wäre ich dankbar. Bis bald Chemiker |
Re: Programm vor dem Beenden absichern
ist nicht möglich da es den Taskmanager gibt
|
Re: Programm vor dem Beenden absichern
erstmal kannst du bei CloseQuery mit CanClose bestimmen, ob das Programm beendet werden darf...
Dann musst du halt noch schauen, dass mers anders net schließen kann. Den Taskmanager kann man zb mit einem bestimmten registryeintrag ausschalten (Bei HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Policies\System den Schlüssel DisableTaskMgr erstellen und auf 1 setzen) |
Re: Programm vor dem Beenden absichern
Hallo,
danke für die Antworten. Zitat:
Ist es vielleicht möglich die Rechte von XP soweit einzuschränken das der Taskmanager nur vom Administrator aufgerufen werden kann? Bis bald Chemiker |
Re: Programm vor dem Beenden absichern
Lies das mal:
![]() |
Re: Programm vor dem Beenden absichern
Mit dem Registryeintrag kann ja auch nur der lokale benutzer den taskmanager nicht mehr öffnen.
Aber wenn du den Taskmanager nicht sperren willst, dann würde canclose:=False doch eigentlich ausreichen, oder? |
Re: Programm vor dem Beenden absichern
Hallo Luckie,
der Artikel war sehr interessant und ich stimme mit dir auch soweit überein. Das Problem ist nur, das ich ein Programm geschrieben habe das Messwert aus einer Produktion speichert und graphisch aufbereitet. So weit so gut, das blöde ist nur, wenn der Mitarbeiter merkt dass er einen Fehler gemacht hat z.B. die Vorgehschriebe Temperatur nicht eingehalten hat, stellt er einfach das Programm ab. |
Re: Programm vor dem Beenden absichern
Äh, das ist dan aber ein Bedienfehler und das sollte in der Verantwortung des Benuters liegen. Ich würde einfach eine abfrage machen, was das schliessen für Folgen hat. Schliesst er es trotzdem, ist es sein Problem.
|
Re: Programm vor dem Beenden absichern
Moin Chemiker,
Zitat:
Das, in Kombination mit einem gesperrten Taskmanager und CanClose=false dürfte wohl genügen ;-) Ausserdem könntest Du auch noch die Eingaben in eine Logdatei schreiben. |
Re: Programm vor dem Beenden absichern
Hallo Luckie,
Zitat:
|
Re: Programm vor dem Beenden absichern
Dann mach doch lieber, dass man das Programm nur mit einem Passwort starten kann.
Da hilft ihm der Taskmanager oder etwas ähnliches auch nix mehr. (Der benutzer schließt das Programm und startet es neu, um seine Fehler zu verpfuschen. Das hab ich so doch richtig verstanden, oder??) |
Re: Programm vor dem Beenden absichern
Hallo blablab,
ja das hast du richtig verstanden, der Mitarbeiter arbeitet in der Produktion an der Maschine und wenn er merkt dass ihm ein Fehler unterlaufen ist, wird schnell das Prg. in der Messwarte unterbrochen und die Messdatenerfassung ist beendet. Das Prg. kann nicht mit einem Passwort gestartet werden, weil dann beim Stromausfall in der Nachtschicht keiner da ist, der das Prg. wieder hochfahren kann. Mit FormCloseQuery habe ich das Prg. soweit abgesichert das es nicht ohne Passwort beendet werden kann. Ich muss es aber noch austesten. |
Re: Programm vor dem Beenden absichern
Zitat:
|
Re: Programm vor dem Beenden absichern
Zitat:
Ein Runterfahren des Programms würde ich mitloggen. Notfalls redundante Daten in txt-Files, Registry und irgendeinem versteckten Netzdrucker. Das kann notfalls auch ein zweites Programm machen, von dem der Mitarbeiter gar nicht weiß, dass es existiert. Dann würde ich dem Mitarbeiter schriftlich gegen Unterschrift klar machen, dass er dieses Programm entweder laufen lässt oder seine Papiere holen kann. In was für einer Welt leben wir eigentlich? Womöglich stellt ihr noch Medikamente her und irgendwo kippt 'ne Oma vom Stuhl, weil ihr Gift zusammengekocht habt, nur weil ein Mitarbeiter sich durch's Leben pfuscht?! |
Re: Programm vor dem Beenden absichern
Hallo Luckie,
ja es funktionieren auch ohne das Prg. . Ein Auto fährt auch ohne Tacho und Benzinstandsanzeige, aber wenn man ablesen kann wie schnell das Auto ist und ob noch genug Sprit vorhanden ist, ist das doch keine schlechte Sache, oder. |
Re: Programm vor dem Beenden absichern
Hallo IngoD7,
Zitat:
Nein, wir stellen keine Medikamente her, aber auch in der Pharmaindustrie soll so was vorkommen. In der Frankfurter Rundschau vom 19.02.1992 wurde darüber berichtet dass ein Hoechst – Mitarbeiter bei der Produktion von Ratiopharm-Schmerzmittel Paracetamol einen anderen Stoff zumischte. Um das ganze zu vertuschen, fälschte der Beschäftigte die Produktionsprotokolle. |
Re: Programm vor dem Beenden absichern
Irgendwoher müssen die Patienten für unsere Sanis ja kommen... :stupid:
@Chemiker: Christian Seehase hat ja schon den Weg beschrieben: Lasse einfach das Programm als Shell laufen und unterbinde den Zugriff auf den Taskmanager und setze "CanClose" auf False... :wink: |
Re: Programm vor dem Beenden absichern
OT:
Zitat:
Das hilft ihm ja auch nicht wirklich weiter, wenn man ihn erstmal fragt, wie sinnvoll sein Programm ist. Und selbst wenn das Programm der letzte Schrott ist und niemandem etwas nützt, darf er doch hier was fragen, wenn er net weiterkommt, oder? Ich versteh sowas wirklich net. Wenn hier jemand was fragt, und ich weiß nicht, was die Antwort auf seine Frage sein könnte, dann schreib ich auch nix. Ich find sowas wie "Lass es doch lieber, dein Programm will sowieso keiner" gehört einfach nicht hier ins Forum... |
Re: Programm vor dem Beenden absichern
Also ich glaub es würde auch einfacher ausreichen.
Programm im OnCloseQuery gegen versehendliches Beenden schützen. z.B.:
Delphi-Quellcode:
Und dann in 'ner geschützten Datei, oder an einem geschützten/verstecktem Ort alles Mitloggen.
Procedure TForm1.FormCloseQuery(Sender: TObject; Var CanClose: Boolean);
Begin CanClose := MessageBox(Handle, 'Soll das Programm wirklich beendet werden?', 'Mein Programm', MB_OKCANCEL or MB_ICONQUESTION) = ID_OK; End; - Programm gestartet - Programm (vom User) beendet - ... Wenn der Rechner abstürtzt und auch bei Stromausfall fehlt dann ja der Logeintrag für's "Programm beendet" und somit kann er dann eine Ausrede wie "Programm/PC" ist abgestürtzt nicht verwenden, wenn er doch das Programm (ordnungsgeäß) beendet hatte, also wenn ein Eintrag "Programm beendet" im Log zu finden ist. Falls du den TaskManager dem User nicht verbieten willst (eigentlich braucht man doch für ein einziges Programm den doch eh nicht? ... notfalls halt Reset drücken), dann könnte man doch auch in die Logtadei zumindestens mit eintragen ob der Taskmanager gestartet wurde? also Log: .... TaskManager gestartet, (rechner/Programm verreckt), Programm gestartet ... würde dann auf ein Abschießen des Programms mit dem Taskmanager hinweisen. [add] Ansonsten könnte man ja nur die Oberfläche als (normales) Programm laufen lassen. Das Aufnehmen und Speichern der Messwerte könnte sich ja in einem Service unterbringen lassen. Auch das Programm in einem anderem Kontext laufen zu lassen wäre eine Mölichkeit. User ist als z.B. Gast angemeldet und Programm läuft im Adminkontext dann heben deine Mitarbeiter auch keine Möglichkeit das (Admin)Programmmit ihrem (Gast)TaskManager zu beenden :angel: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:31 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