![]() |
Windows Logon Hotkey?
Hallo, ich habe das Problem, dass ich einen systemweiten Hotkey auch abfangen möchte wenn der Benutzer abgemeldet ist (Programm läuft weiter im Hintergrund). Mit "RegisterHotKey" Funktioniert das nur wenn der Benutzer angemeldet ist. Hat jemand damit Erfahrung?
|
AW: Windows Logon Hotkey?
Hmm..
Ich glaube, das wird nichts... Programme laufen ohne Anmeldung nur, wenn sie Dienste sind. Dienste laufen hingegen seit einiger Zeit unter Windows in einer eigenen Session (Id '0'). Da diese Session keinen Unserinput hat, kann diese auch keine Hotkeys entgegen nehmen. (So ist zu mindestens mein Kenntnisstand ;) ) |
AW: Windows Logon Hotkey?
Richtig, es gibt jedoch Programme die das können (Alarmsysteme). Das muss also irgendwie möglich sein.
|
AW: Windows Logon Hotkey?
Ich würde einen System Treiber programmieren der das übernimmt. Lese ein paar Treiber Referenzen für deine Windows Version nach um zu verstehen wie Treiber programmiert und installiert werden können, zum Beispiel ein Tastatur-Treiber :-)
Nachtrag: 1. Mach dich vor allem schlau wie das Datei-/System auf Kernel-Ebene funktioniert falls du was laden musst oder andere System-Funktionen nutzen möchtest etc 2. Ich glaube Delphi Versionen ab XE sind dafür nicht mehr geeignet? Ungewiss! Ich würd sowas eher mit C++ realisieren. (Tut mir leid falls ich falsch liege, ich kenne halt keine Delphi Treiber auf System Ebene die mit XE oder höher programmiert wurden aber ich lasse mich gerne vom Gegenteil Überzeugen!!!) Ps: Je nach Windows Version und Einstellung musst du dich eventuell auch damit vertraut machen wie du dein Windows "überredest" nicht-digital-signierte Treiber zu akzeptieren. |
AW: Windows Logon Hotkey?
Der Logonscreen und z.B. auch die UAC-Paswortabfragen sind "absichtlich" getrennte Systeme (anderer Desktop), wo Programm keinen übergreifenden Zugriff haben.
einige Lösungen: ![]() ![]() |
AW: Windows Logon Hotkey?
Zitat:
|
AW: Windows Logon Hotkey?
Das ist halt ein Unterschied.
Aber ein Programm in einem anderem Kontext darf einfach nicht darauf zugreifen, denn genau das wurde aus Sicherheitsgründen verboten, damit z.B. "böse" Programme deine Passworter nicht so leicht belauschen oder den Eingabedialog fernsteuern können. |
AW: Windows Logon Hotkey?
Hmm..
(Lt. Google) Sollte es möglich sein per DLL injection einen Keylogger in die WinLogon.Exe zu bekommen, jedoch ging es in diesen Beiträgen meist um Windows XP. Testweise hatte ich mal ein Service gebastelt, welcher beim (normalen) Login in der User-Session ein Programm gestartet hat. Eventuell müsste es auch möglich sein, sich in die Session des Login einzuklinken und dann hat dieser Service (denke ich) die gleichen Möglichkeiten wie in einer normaler Session. An einer anderen Stelle habe ich gelesen, dass WinLogon.exe sämtliche Tastatureingaben abfängt und blockiert.... |
AW: Windows Logon Hotkey?
Ich bin fester Überzeugung das ab Vista ein dll Hook nicht mehr möglich ist wegen hitsumi's
Zitat:
|
AW: Windows Logon Hotkey?
Warum so kompliziert? WM_ENDSESSION und ähnliche Messages abfangen und gut ist.
EDIT: Vielleicht hab ich die Frage auch missverstanden. Aber wozu sollte man überhaupt die Tastenkombi WIN+L abfangen wollen wenn der Benutzer abgemeldet ist? Das ergibt irgendwie keinen Sinn. Davon abgesehen: Zitat:
|
AW: Windows Logon Hotkey?
Wir standen auch mal vor dieser "Aufgabe"... unsere Kunden sagten: außer MS-RemoteDesktop kann doch z.B. auch TeamViewer den System-Zugriff wenn aktuell die UserSession oder das ganze System im LoginScreen steht.
Wir haben uns wegen Linux+MacOSx+Windows kompatibilität gegen eine reine Softwarelösung entschieden. Wir setzen auf einen externen Microcontroler mit USB Connect, welcher als HDI-Device ganz simpel eine eigenen Maus&Tastatur Emulation hat. Zusätzlich können wir per ein USB-CDC "seriell" kommunizieren oder per nutzen UDP-Ethernet um mit unseren Hintergrundprogrammen zu kommunizieren. Fakt ist: Wir "können&machen" so OS unabhängig bisher alle Logins... im Gegensatz so Softwarelösungen mit DLLs, Hooks oder (bösen) Treibern als "SecurityPrivider" besteht unsere HW-Lösung jeden SecurityCheck. Die Haus-(IT)Security großer Banken ist mindestens vergleichbar dem Level von Kernkraftwerken oder der Bundesbank;) Zurück zur Frage: "System weite Hotkeys"..."auch abgemeldet"...?! - das widerspricht doch allen Grundsätzen der Systemsicherheit, wenn ein XY UserMode-Programm sowas rein per Software realisieren könnte! - es ist gut das dies nicht hoffentlich unter allen Betriebssystemen nicht einfach so geht - klar wüsste ich aus purer Neugier gerne wie TeamViewer das für Windows&MacOSx hinbekommt, aber weil es mit Linux oder XY-OS auch dann nicht funktioniert bleibe ich dabei: nur die Kombi aus möglichst wenig Software plus einer eigenen externen Hardware-Lösung kann sowas sicher lösen. |
AW: Windows Logon Hotkey?
Für Teamviewer und ähnliche Programme hat Windows doch seit geraumer Zeit ein API, sodass nicht mehr wie früher bei VNC üblich Mirror-Treiber geschrieben werden müssen. Über das API bekommt man aber IMHO keinen Zugriff auf Benutzereingaben am Hostsystem und auch nicht an Windowhandles, sodass man (schlecht implementierte) Passwort-Edits auslesen könnte.
|
AW: Windows Logon Hotkey?
Hmm..
TeamViewer zeigt den Bildschirminhalt und erzeugt Maus- und Tastatureingaben, wie eine Fernbedienung. Es ist was anderes, ob ich ein System durch 'Eingaben' Fernsteuern will, oder 'Eingaben' (von wo auch immer) abgreifen will. Ich vermute, dass unter WinLogon das SendInput sehr wohl funktionieren würde, nur das 'Abgreifen' mit Hooks wohl eher nicht.. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:12 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