![]() |
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:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:30 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