AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Rechner sperren mit externem USB-Monitor

Rechner sperren mit externem USB-Monitor

Ein Thema von ProPinball · begonnen am 7. Mär 2013 · letzter Beitrag vom 8. Mär 2013
Antwort Antwort
ProPinball

Registriert seit: 24. Nov 2009
4 Beiträge
 
Delphi 10.3 Rio
 
#1

Rechner sperren mit externem USB-Monitor

  Alt 7. Mär 2013, 14:45
Hallo,

ich hab folgendes Problem. Ich hab ein Rechner mit einem angeschlossenem externen USB-Monitor, welcher als zweiter Monitor verwendet wird. Auf dem Rechner selber läuft ein Programm (Delphi 7) von mir, welches Türöffner ansteuert. Auf dem Haupt-Desktop ist die Main-Form des Programms zu sehen (Statusanzeigen für Service-Einsätze, hardwaremässig ist da kein Monitor dran) und auf dem externen USB-Monitor werden verschiedene Statusmeldungen/Bilder für den Benutzer in einem zweiten Fenster angezeigt. Der Rechner ist mit dem Internet verbunden und man muß auf ihn mit einer Fernwartung (z.B. VNC, Teamviewer, ...) zugreifen können. Soweit mal die Anforderung und das funktioniert auch schon.

Das Problem: Läuft das System (Windows XP oder Windows 7) nun einige Minuten ohne Interaktion, schaltet sich der Bildschirmschoner ein, der nach Reaktivierung die Anmeldedaten des Benutzers verlangt. Sicherheitstechnisch natürlich super und auch so gewollt. Das Problem ist aber, dass der externe USB-Monitor sich dabei abschaltet und nur noch schwarz anzeigt und erst bei Wiederanmeldung das Fenster erneut anzeigt. Das "Abschalten" sollte er aber nicht.
Einzige mir bekannte Möglichkeit ist, dass die Sperre beim Bildschirmschoner bzw. der Bildschirmschoner komplett deaktiviert wird. Dann wird das Fenster immer schön angezeigt.

Sollte nun allerdings jemand "Fremder" auf den Rechner draufkommen (falls er z.B. den Fernwartungsport entdeckt und hackt), dann kann er da natürlich wie ihm beliebt herumwerkeln.

Also hab ich nun versucht meinen eigenen Bildschirmschoner mit Passwortabfrage zu schreiben, damit zumindest diese Hürde noch zu nehmen wäre, falls jemand drauf kommt.
Allerdings gibt es da das Problem der verschiedenen System-Tastenkombinationen (Ctrl+Esc, Ctrl+Shift+Esc, Ctrl+Alt+Del, ...). Mit einem eigenen Keyboard-Hook hab ich zumindest die einfacheren Kombis schon abgefangen, aber Ctrl+Alt+Del geht immer durch.

Was gibt es denn da noch für Möglichkeiten, um den auch noch zu blockieren? Hab schon von der MSGina.dll gehört, allerdings trau ich mich da nicht drüber (und auch keine Ahnung ob das funktioniert und ob das Problem mit dem externen Monitor dort auch auftreten kann...). Hat hier jemand Erfahrung damit?

Oder wäre es am einfachsten den USB-Monitor in die Tonne zu treten und was anderes zu nehmen was nicht als Zweit-Monitor funktioniert, sondern direkt angesteuert werden kann (und somit auch bei aktivierter Rechnersperre was anzeigen kann).

Bin für jede Idee, Lösungsansatz, Vorschlag schon mal dankbar.

Gruß,
ProPinball.
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.608 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Rechner sperren mit externem USB-Monitor

  Alt 7. Mär 2013, 16:03
Meines Wissens nach ist es von Haus aus bei Windows nicht möglich, auf einem zweiten oder dritten Monitor (egal wie angeschlossen) etwas anzuzeigen, obwohl der Bildschirmschoner bzw. die Benutzersperre aktiv ist. Kann dir allerdings nicht sagen, ob es doch eine windowsinterne Möglichkeit gibt das zu machen.

Vielleicht hilft dir das hier noch weiter ...

Edit:

Das hier schreibt Luckie in einem anderen Thread dazu:

Zitat:
Erstes auch ein Hook nützt da nichts, da diese Tastenkombination von Windows extra behandelt wird. Da hilft nur abfangen bevor Windows seinen Daumen drauf hat. Dies wird aber nur über einen Tastaturtreiber gehen, also nix mit Delphi.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Rechner sperren mit externem USB-Monitor

  Alt 7. Mär 2013, 16:15
Ich glabe daß es im prinzip geht.
wenn ich micht recht erinnere, hatte ich mal einen rechner, der den zweitmonitor auch bei laufendem Bildschirmschoner ansteuern konnte.
es war allerdings ein Monitor für videos.
habe keine aAhnung was das für eine Videokarte war.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Rechner sperren mit externem USB-Monitor

  Alt 7. Mär 2013, 21:21
Richte einen absolut kastrierten Benutzer ein ohne Bildschirmschoner und gebe dem als Shell das Programm.
Somit kann ausschließlich dieses Programm laufen.

Per TeamViewer (automatisch mit Windows starten) kommt man nun an den Rechner und kann z.B. über eine geschützte Funktion (im Programm) den Explorer starten oder auch sich abmelden und als Admin-Benutzer anmelden.

Meine 5c
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
5.888 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Rechner sperren mit externem USB-Monitor

  Alt 8. Mär 2013, 07:21
"Kisok-Modus" also?

Der Bildschirmschoner und Login-Bildschirm (wie auch der Dialog bei STRG+ALT+ENTF) ist durch einen zusätzlichen Windows-Desktop geregelt. Windows wirft dich hierbei komplett von "deinem" Desktop herunter und schaltet auf einen anderen um.

Prozesse "deines" Desktops können noch nicht einmal auf einem anderen Desktop etwas machen oder bekommen da viel mit (noch nicht einmal globale Tastaturhooks).


Es gibt hierfür (für Delphi) fertige kommerzielle Lösungen die sich um den ganzen Kram wie
  • Systemtasten sperren (ALT+TAB, STRG+TAB, ALT+F4, ...)
  • Startmenü ausblenden
  • Startmenü deaktivieren
  • Desktopsymbole deaktivieren
  • Taskmanager deaktivieren
  • Benutzerlogoff deaktivieren
  • usw

kümmern ("dWinLock" fällt mir da ein), allerdings lässt sich das mit etwas Zeit auch komplett selbst in Delphi umsetzen.


Zusammenfassung: Aus dem Bildschirmschoner kommst du um keinen Preis von selbst heraus, wenn du so etwas trotzdem brauchst, musst du dich selbst um die Abschottung des Systems kümmern.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf