![]() |
System anhalten bis Form geschlossen ist.
Hi zusammen,
ich hab mal wieder eine Frage und zwar will ich einen Login-Programm für Windows schreiben. Nur wie schaff ich es das man "Windows" erst wieder benutzen kann wenn man sich erfolgreich eingeloggt hat sprich die Form geschlossen/ beendet wurde? Ich hoffe hier versteht was ich meine. Schonmal viel Dank im vorraus! mfg Interritor |
Re: System anhalten bis Form geschlossen ist.
Für welches System Win9x oder NT,2k,XP
da gibt es empfindliche Unterschiede... |
Re: System anhalten bis Form geschlossen ist.
Für Win 2k.
|
Re: System anhalten bis Form geschlossen ist.
du könntest folgendes machen:
form1.FormStyle := fsStayOnTop; die Taskbar verstecken (geht so:
Delphi-Quellcode:
, mit SW_RESTORE wieder sichtbar machen)
var
wndHandle : THandle; wndClass : array[0..50] of Char; begin StrPCopy(@wndClass[0], 'Shell_TrayWnd'); wndHandle := FindWindow(@wndClass[0], nil); ShowWindow(wndHandle, SW_HIDE); dann irgendwie Alt+Tab und ähnliche systemroutinen abfangen, bis er eben wieder das Passwort eingegeben hat oder so ist ziemlich umständlich und wahrscheinlich (sicherlich) nicht DIE Lösung, es wär aber 'ne (aufwendige) möglichkeit |
Re: System anhalten bis Form geschlossen ist.
Da musst Du Dich mit der "GINA.DLL" befassen. Am besten mal googeln oder bei MDSN vorbeischauen.
![]() ...:cat:... |
Re: System anhalten bis Form geschlossen ist.
Öhm, falls du es noch nichtbemerkt hast, Windows2000 hat schon ein "Login-System". Wozu soll deines jetzt noch gut sein?
|
Re: System anhalten bis Form geschlossen ist.
Schonmal Danke!!!
Das Windows ein Login System hat weiss ich auch, ich will aber ein Chipkarten-Login-System schreiben. Wo halt die Informationen auf einer Chipkarte gelesen und überprüft werden. |
Re: System anhalten bis Form geschlossen ist.
Hallo Interritor,
Um das System einzuschließen kannst du folgendes versuchen ... Bei Windows 2000, NT 4 funktioniert das super.
Delphi-Quellcode:
Der Aufruf der Function ist ...
Function LockWS: Boolean;
type TLockWorkStation = function: Boolean; var hUser32: HMODULE; LockWorkStation: TLockWorkStation; begin hUser32 := GetModuleHandle('USER32.DLL'); if hUser32 <> 0 then begin @LockWorkStation := GetProcAddress(hUser32, 'LockWorkStation'); if @LockWorkStation <> nil then begin LockWorkStation; Result := True; end; end; end;
Delphi-Quellcode:
procedure TForm1.SytemEinschlieen1Click(Sender: TObject);
begin if not LockWorkStation then MessageDlg('Vorgang fehlgeschlagen !', mtError,[mbOk], 0); end; |
Re: System anhalten bis Form geschlossen ist.
@Frank: Wie verhält sich LockWorkStation?
Für den Dialog: @Illuminator Der sicherste weg ist über CreateDesktop eine Login-Session erstellen! So machst jedenfalls Microsoft. Oder via Hook alles Unterdrücken was WM_CREATE abfeuert. Und was schon da ist Hidden. |
Re: System anhalten bis Form geschlossen ist.
Win2k unterstürzt doch schon SmartCard Login's ?
Es müssen halt richtige SmartCard's sein, und keine Speicherkarten von Towikoto. Gruß Hagen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:52 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 by Thomas Breitkreuz