![]() |
Passwort-Übergabe an Windows
Hallo zusammen
ich versuche ein Programm zu erstellen, das bei laufendem Screen-Saver mit Passwort-Schutz diesen automatisch ausschaltet und danach das in einem Edit-Feld bereit stehende Passwort in die Windows-Dialog-Box 'einfüllt'. Das Programm sollte unter W2000 oder XP laufen. Ich bin mit nachfolgendem Code auch bereits soweit, dass mir der Screen-Saver ausgeschaltet wird und eben diese Dialog-Box angezeigt wird. Aber die enthaltene Routine mit den KEYBD_EVENT funktioniert nicht, resp. die Tasteneingaben laufen nicht ins Passwortfeld der Dialogbox, obwohl dieses fokusiert ist. Was mache ich da falsch, resp. was habe ich vergessen oder übersehen?
Delphi-Quellcode:
Ich weiss, dass das ganze nicht besonders schön programmiert ist, da ich eben am ausprobieren bin.
procedure TForm1.Timer1Timer(Sender: TObject);
var x : integer; var q : char; var hDesktop: HDESK; begin if not ScreenSaverRunning then Memo1.Lines.Append('SS läuft nicht') else begin Memo1.Lines.Append('SS läuft'); hDesktop := OpenDesktop('screen-saver', 0, False, MAXIMUM_ALLOWED); if hDesktop <> 0 then begin EnumDesktopWindows(hDesktop, @EnumWindowCallback, 0); Form1.JvWavePlayer1.Play; for x := 1 to length(Form1.Edit1.Text) do begin q := UpCase(Form1.Edit1.Text[x]); keybd_event(Ord(q), 0, 0, 0); end; keybd_event(13,0,0,0); CloseDesktop(hDesktop); end else begin PostMessage(GetForegroundWindow(), WM_CLOSE, 0, 0); { SetCursorPos(10,10); SetCursorPos(20,20); } for x := 1 to length(Form1.Edit1.Text) do begin q := UpCase(Form1.Edit1.Text[x]); keybd_event(Ord(q), 0, 0, 0); end; keybd_event(13,0,0,0); JvWavePlayer1.Play; end; end; end; |
Re: Passwort-Übergabe an Windows
mach das plz mit delphi tags :-D
|
Re: Passwort-Übergabe an Windows
|
Re: Passwort-Übergabe an Windows
Sorry, ist meine erste Einstellung hier in dieses Forum. Habe die Darstellung nun bereinigt.
|
Re: Passwort-Übergabe an Windows
Wieso schaltest du den den Passwortschutz des SS nicht einfach aus?
PS: wenn mich nicht alles täucht verwenden doch die Screensaver den Usernamen und das Passwort des aktiven Users (meißtens) und wenn dann noch diese Daten frei zugänglich in irgendeinem Programm gespeichert, oder geladen sind, dann halte ich das aber für ein ganz nettes Sicherheitsloch. [edit] jetzt wo alcaeus das sagt, fällt mir wieder ein, dass ja das Windowsteil sich da anschlich ... aber wer wills mir verübeln - hab ja schon seit Jahren keinen SS mehr drauf |
Re: Passwort-Übergabe an Windows
Hi hesch21,
vergiss deine Lösung mal für WinXP. Dort gibt es kein Passwort für den Bildschirmschoner mehr, vielmehr wird man an den Anmeldebildschirm zurückgeleitet. Ich glaube nicht dass deine Lösung da funktionieren wird. Greetz alcaeus |
Re: Passwort-Übergabe an Windows
Zitat:
Ich sehe aber nicht ein, weshalb ich nicht mit keybd_event etwas diesen Anmeldebildschirm senden kann. Ist doch auch bloss ein Fenster. |
Re: Passwort-Übergabe an Windows
hmm ... bin net sicher aber evtl. hilft dir
![]() [OT] Darf ich hier eigentlich an das swissdelphicenter verlinken?[/OT] |
Re: Passwort-Übergabe an Windows
Das Anmeldefenster von Win 2k und XP ist nicht "blos irgendein Fenster". Kann sein, dass du Dein Programm als Dienst laufen lassen mußt um dort überhaupt zugreifen zu können.
Warum Programmierst du dir nicht deinen eigenen Bildschirmschoner, der auch die Alarmmeldung mit ausgibt? |
Re: Passwort-Übergabe an Windows
Also die Anmelde Dialoge werden auf einer anderen Windowsstation angezeigt. Da wirst du von der Benutzer-Windowssation nicht so einfach drankommen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:15 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