Autor Beitrag
Borg-Cube
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 34


Delphi 2009
BeitragVerfasst: Mi 04.03.20 22:17 
Hallo

In unserer Schule haben wir in letzter Zeit vermehrt mit Vandalismus im PC-Raum zu kämpfen. Wir möchten daher beim Start des Rechners bzw. beim Einloggen ein Programm haben, dass verschiedene Sachen abfragt, z.B. Funktioniert die Maus, ist die Tastatur noch vollständig (ja, Schüler scheinen zu Hause einzelne Tasten zu benötigen und nehmen die dann aus der Schule mit), ist der Bildschirm unbeschädigt. Dieser Teil funktioniert so weit.

Problem ist allerdings, dass es ein paar Schüler gibt, die den Sinn des Programms aushebeln und das ganze einfach per Taskmanager killen. Ich wollte nun für diesen Fall entsprechend vorgehen und speichern, dass das Programm "nicht auf dem vorhergesehenen Weg" beendet wurde um dann mit den entsprechenden Schülern nochmal ein Gespräch führen zu können, dass diese Erfassung nicht zum Spass ist, sondern auch hilft dass Fehler/Probleme schneller gemeldet werden und somit auch behoben werden können (was letztendlich ja auch den Schülern zu Gute kommt).

Um das ganze zu realisieren habe ich in FormCloseQuery eine entsprechende Aktion gepackt. Leider funktioniert das ganze dann nur auf manchen Rechnern. Wenn ich das an meinem Entwicklungs-Rechner teste und das Programm mit dem Taskmanager abschieße wird die Aktion ausgelöst. Versuche ich das auf den Rechnern in der Schule wird die Aktion nicht mehr ausgeführt. Auf meinem Laptop wird die Aktion ebenfalls nicht ausgeführt. Auf allen Rechnern ist Windows 10 64 Bit installiert.

Habe ich da irgendwo einen Denkfehler drin (FormCloseQuery wird bei Kill über Taskmanager nicht ausgeführt?) oder gibt es eine Möglichkeit die ich noch nicht gesehen habe das ganze zu realisieren?
Delphi-Laie
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1600
Erhaltene Danke: 232


Delphi 2 - RAD-Studio 10.1 Berlin
BeitragVerfasst: Do 05.03.20 01:25 
Ganz im Gegensatz: Ich finde es erstaunlich, daß sich bei diesem "gewaltsamen Abschießen" überhaupt sporadisch Beendigungsereignisse mit ihren Behandlungsprozeduren zu Worte melden, weil letztere eigentlich für das reguläre Beenden aus sich selbst heraus geschaffen wurden.

Zudem vermute, ja befürchte ich, daß man mit einem Appell an Einsicht und Vernunft nur einen Teil der Destrukteure erreicht, der andere Teil danach jedoch erst richtig Blut leckt.

Irreguläres Beenden kann man daran erkennen, daß die Spur nach regulärem Beenden (z.B. etwas extern, also als andere Datei bzw. in einer anderen Datei speichern) fehlt.

_________________
Ordnung ist das halbe Leben - und sie zu schaffen die andere Hälfte.

Für diesen Beitrag haben gedankt: Borg-Cube
Borg-Cube Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 34


Delphi 2009
BeitragVerfasst: Do 05.03.20 01:44 
Ok, sowas hatte ich mir schon gedacht. Eine solche Spur gibt es tatsächlich schon eingebaut. Beim gewaltsamen beenden fehlt tatsächlich ein Eintrag. Ich hatte mir vorgestellt, dass ich dann hingehen kann mit dem Argument "Am xx um yy:yy Uhr hast du das Programm abgeschossen". So wird es dann sein "Am xx um yy Uhr wurde das Programm gestartet aber nicht ordungsgemäß geschlossen".

Ich denke damit kann ich leben.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10146
Erhaltene Danke: 1235

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 05.03.20 02:35 
Moin!

Das ist einer der schrägsten Threads, die ich hier seit langem gelesen habe... :lol:

user profile iconBorg-Cube hat folgendes geschrieben Zum zitierten Posting springen:
In unserer Schule haben wir in letzter Zeit vermehrt mit Vandalismus im PC-Raum zu kämpfen.
Häng ne WebCam auf... :roll: 8)

user profile iconBorg-Cube hat folgendes geschrieben Zum zitierten Posting springen:
Funktioniert die Maus, ist die Tastatur noch vollständig (ja, Schüler scheinen zu Hause einzelne Tasten zu benötigen und nehmen die dann aus der Schule mit), ist der Bildschirm unbeschädigt. Dieser Teil funktioniert so weit.
Ich bin beeindruckt, ehrlich. :zustimm: Du hast ein Programm geschrieben, dass erkennt, ob die Maus funktioniert, alle Tasten noch auf der Tastatur drauf sind und der Bildschirm noch ein Bild anzeigt?!? :shock: Krass... :?

Oder nimmst du uns auf den Arm? :suspect: ;)

user profile iconBorg-Cube hat folgendes geschrieben Zum zitierten Posting springen:
Problem ist allerdings, dass es ein paar Schüler gibt, die den Sinn des Programms aushebeln und das ganze einfach per Taskmanager killen.
Mach einen Dienst draus, fertig. :idea: :nixweiss: Ihr werdet doch nicht so irre sein, die SuS mit Admin-Rechten an die Maschinen zu lassen, oder? :hair: btw: schonmal was von Gruppenrichtlinien gehört? :les:

user profile iconBorg-Cube hat folgendes geschrieben Zum zitierten Posting springen:
Habe ich da irgendwo einen Denkfehler drin
Definitiv, der liegt aber nicht in der Technik. :| mein Gott bin ich froh, dass ich damals nicht an die Schule gegangen bin...

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Borg-Cube Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 34


Delphi 2009
BeitragVerfasst: Do 05.03.20 08:12 
Naja, das Problem in einer Schule ist, dass man leider nicht alles so machen kann wie man es "normal" machen würde.

Eine Webcam/Überwachungskamera aufhängen war unsere erste Idee. Da man die natürlich nicht einfach vom Deutschlehrer Müller/Maier/Schulze an die Decke dübeln lassen kann muss man die Bitte an den Schulträger weiterleiten. Antwort war: "Haben das mit dem Datenschutz geklärt, Überwachungskamera wird in der Schule NIEMALS passieren." Für weitere Argumente war man danach nicht mehr zugänglich. Ich gebe dir gerne die Telefonnummer, du kannst dann ja nochmal mit denen diskutieren, bezweifle aber das es Erfolg haben wird. Bisherige Gespräche verliefen eher so nach dem Motto: "Meine Meinung steht fest, bitte verwirren sie mich nicht mit Tatsachen!".
javascript:PostEdit.editorInsertEmoticon(':?:')
Dass die Abfrage von dem Programm selbst erfolgt hab ich nicht geschrieben. Ich halte mich für technisch einigermaßen auf dem neusten Stand, dass man bei einer 08/15-Standard-Tastatur oder Maus das Vorhandensein der Tasten prüfen kann, bezweifele ich jedoch einfach mal. Daher müssen wir bei der Prüfung auf das Interface "Schüler" setzen. Eine "Falschmeldung" eines Problems würde natürlich nur für Ärger sorgen, daher unterlassen Schüler dies. Einen Defekt nicht zu melden bringt einen selbst natürlich nur in Probleme, denn erfahrunggemäß war der Letzte bei dem alles fehlerfrei war entweder an der Entstehung des Problems/Defektes beteiligt oder er kann nähere Angaben dazu machen wie der Defekt passiert ist.

Die restlichen Vorschläge sind auch für "das richtige Leben" interessant. Da in der Schule die Lehrer (in den meisten Fällen) die Kernkompetenz beim Vermitteln von Unterrichtsinhalten haben hat der Schulträger vorgesorgt: Der Support/Einrichtung des PC-Systems wurde an eine externe Firma ausgelagert. Die betreiben das System für alle Schulen des Trägers und packen da eine entsprechende Oberfläche drauf die noch verschiedene Zusatzfunktionen für den Schulunterricht bereit stellt. Die Bitte einen Dienst auf den Rechnern zu installieren oder uns Zugriff zu den Login-Protokollen am Server zu gewähren oder die Gruppenrichtlinie anzupassen, dass Schüleraccounts den Taskmanager nicht aufrufen können wurden abgelehnt. Argumente waren "technisch nicht möglich", "Zugangsprobleme" und noch ein paar andere Hohlphrasen.Ich würde allerdings vermuten es liegt entweder a) ein Kompetenzproblem bei dem Laden vor oder was ich für wahrscheinlicher halte b) ein Lustproblem sich darum zu kümmern.

Vielleicht mag mein Denkfehler nicht in der Technik liegen, der liegt dann eher im System "Schule". Ich mache das jetzt schon wirklich lange mit in diesem System und die Zeit hat mir deutlich gemacht, dass in "Schule" viele Sachen nicht so laufen wie man die "normal" machen würde. Das Problem ist dann allerdings, dass man mit der ausführenden/vorgesetzten Stelle diskutieren kann, die Bereitschaft auf Argumente einzugehen aber eher gering ist. Irgendwann fängt man dann an statt seine Kraft und Zeit in sinnlose und nicht zum Erfolg führende Diskussionen zu stecken einfach so gut es geht um die Probleme und Kooperationsbegrenzungen herumzuarbeiten damit sein vor Ort aufgetretenes Problem behoben wird. Dass dies natürlich auch nicht optimal ist, ist uns allen klar. Aber das Problem liegt dann eher im kompletten Bildungssystem und der Bildungsverwaltung. Und darüber können wir uns hier aufregen oder du kannst das von Außen "schräg" oder amüsant finden, wenn man in dem System ist muss man damit leben und das Beste daraus machen.

Falls du jedoch einen guten Draht zur zuständigen Landesregierung hast und das System entsprechend anpassen lassen kannst würde es mich sehr freuen wenn du unsere Probleme weitergeben und lösen lassen könntest. Eine dazu notwendige Änderung der entsprechenden Bildungsgesetzen werde ich jedoch (auch wenn es für einen solchen Prozess schnell gehen sollte) nicht mehr vor meiner Rente erleben, da bin ich mir absolut sicher :wink:
icho2099
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 90
Erhaltene Danke: 10

WIN XP, WIN 7, WIN 10
Delphi 6 Prof, Delphi 2005, FPC
BeitragVerfasst: Do 05.03.20 08:26 
user profile iconBorg-Cube hat folgendes geschrieben Zum zitierten Posting springen:
Ok, sowas hatte ich mir schon gedacht. Eine solche Spur gibt es tatsächlich schon eingebaut. Beim gewaltsamen beenden fehlt tatsächlich ein Eintrag. Ich hatte mir vorgestellt, dass ich dann hingehen kann mit dem Argument "Am xx um yy:yy Uhr hast du das Programm abgeschossen". So wird es dann sein "Am xx um yy Uhr wurde das Programm gestartet aber nicht ordungsgemäß geschlossen".

Ich denke damit kann ich leben.


das kann man auch umdrehen. Stelle alle Schüler unter Generalverdacht und entlaste sie wenn das Programm regulär beendet wird.
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6354
Erhaltene Danke: 141

Windows 7 + Windows 10
Tokyo Prof + CE
BeitragVerfasst: Do 05.03.20 08:31 
Einfach das Programm nicht im User-Kontext starten.
Ich gehe doch mal davon aus, dass die Schüler keine lokalen Admins sind (Falls doch, solltet ihr den Sys-Admin mal in den Hintern treten). Wenn du das Programm als Admin startest, sollte das Killen des Tasks schon ziemlich problematisch sein.

Alternativ würde ich zwei Programme schreiben, die sich gegenseitig (in der Taskliste) kontrollieren. Sollte eines beendet werden, wird es durch das andere sofort wieder gestartet. Enstprechende Protokolle sind dann auch ziemlich einfach.
Sinspin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1220
Erhaltene Danke: 107

Win7
DXE2 Prof, Lazarus
BeitragVerfasst: Do 05.03.20 09:07 
user profile iconNarses hat folgendes geschrieben Zum zitierten Posting springen:

Das ist einer der schrägsten Threads, die ich hier seit langem gelesen habe... :lol:

:zustimm:

Ich würde auch einen Wachhund verwenden. Beide Programme auf einmal kann man ja nicht killen. Die beiden Programme reden einfach die ganze Zeit miteinander, bleibt eines stumm schreibt das andere die passende Nachricht.
Wo speicherst Du die Info eigentlich? Lokal auf der Platte? Dann kann ein Nutzer da vermutlich auch ran und die Daten nach belieben ändern?

€:Deutsch vebessert(bin da etwas aus der Übung)

_________________
Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Jetzt rächt sich die Natur und tötet uns.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 18871
Erhaltene Danke: 1660

W10 x64 (Chrome, Edge)
Delphi 10.4 Ent, Oxygene, C# (VS 2019), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 05.03.20 17:50 
user profile iconBorg-Cube hat folgendes geschrieben Zum zitierten Posting springen:
Problem ist allerdings, dass es ein paar Schüler gibt, die den Sinn des Programms aushebeln und das ganze einfach per Taskmanager killen. Ich wollte nun für diesen Fall entsprechend vorgehen und speichern, dass das Programm "nicht auf dem vorhergesehenen Weg" beendet wurde um dann mit den entsprechenden Schülern nochmal ein Gespräch führen zu können, dass diese Erfassung nicht zum Spass ist, sondern auch hilft dass Fehler/Probleme schneller gemeldet werden und somit auch behoben werden können (was letztendlich ja auch den Schülern zu Gute kommt).
Speichere doch einfach den Start mit der Prozess-ID und dem Hostnamen usw.
Wenn kein passendes Beenden geloggt wurde, wurde das Programm gekillt oder die Maschine ausgeschaltet.
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6354
Erhaltene Danke: 141

Windows 7 + Windows 10
Tokyo Prof + CE
BeitragVerfasst: Do 05.03.20 18:03 
Da fällt mir gerade ein:
Warum hast du ein Programm dafür geschrieben? Ich hätte einen Dienst geschrieben. Dann sieht man die "Anwendung" zumindest nur noch im Taskmanager als Prozess und nicht mehr als Anwendung. Dann noch als Adminstrator starten. Das könnte auch schon eine Menge helfen.

Der Dienst sorgt nach der Anmeldung dafür, dass das Abfrage-Programm gestartet wird. Wenn die Informationen nicht gespeichert wurden, startet der Prozess die Anwendung, bis der Schüler die Angaben gemacht hat.
Borg-Cube Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 34


Delphi 2009
BeitragVerfasst: Do 05.03.20 18:44 
user profile iconjasocul hat folgendes geschrieben Zum zitierten Posting springen:
Da fällt mir gerade ein:
Warum hast du ein Programm dafür geschrieben? Ich hätte einen Dienst geschrieben.


Weil die Variante Dienst in unserem Fall leider nicht anwendbar ist (siehe mein Beitrag weiter oben):
Zitat:
Die Bitte einen Dienst auf den Rechnern zu installieren [...] wurden abgelehnt. Argumente waren "technisch nicht möglich", "Zugangsprobleme" und noch ein paar andere Hohlphrasen. Ich würde allerdings vermuten es liegt entweder a) ein Kompetenzproblem bei dem Laden vor oder was ich für wahrscheinlicher halte b) ein Lustproblem sich darum zu kümmern.


Danke für die ganzen Anregungen. Im ersten Schritt habe ich heute die Spur umgesetzt. Bevor das Form der Anwendung angezeigt wird, wird der Login gespeichert. Sollte dann der Eintrag "Programm ordentlich beendet" fehlen liegt wohl ein Fall für "Redebedarf" vor. Sollte das immer noch nicht zum Erfolg führen wechsle ich auf die gegenseitige Überwachung.
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6354
Erhaltene Danke: 141

Windows 7 + Windows 10
Tokyo Prof + CE
BeitragVerfasst: Fr 06.03.20 08:10 
user profile iconBorg-Cube hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconjasocul hat folgendes geschrieben Zum zitierten Posting springen:
Da fällt mir gerade ein:
Warum hast du ein Programm dafür geschrieben? Ich hätte einen Dienst geschrieben.


Weil die Variante Dienst in unserem Fall leider nicht anwendbar ist (siehe mein Beitrag weiter oben):
Zitat:
Die Bitte einen Dienst auf den Rechnern zu installieren [...] wurden abgelehnt. Argumente waren "technisch nicht möglich", "Zugangsprobleme" und noch ein paar andere Hohlphrasen. Ich würde allerdings vermuten es liegt entweder a) ein Kompetenzproblem bei dem Laden vor oder was ich für wahrscheinlicher halte b) ein Lustproblem sich darum zu kümmern.

Sorry, hatte ich am zweiten Tag schon wieder vergessen, dass du das geschrieben hast.
Variante c) Der Vertrag für den Dienstleister wirft so wenig Geld ab, dass Sonderanforderungen nicht umgesetzt werden. Daher nur einheitliche Basis-Konfiguration und Fehlerbehebung. Nicht immer ist der Dienstleister schuld :wink:
sallybroklyn09
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Sa 07.03.20 14:31 
danke sir :)