Beschäftige mich immer noch mit dem leidigen Thema, da bis jetzt nichts meinen Erwartungen entspricht bzw. manche Prozeduren einfach nur unüberschaubar sind.
Kennt keiner einen Codeschnipsel, der mir sagt, ob definitiv ein Benutzer angemeldet ist (also nicht das Anmeldefenster von 2000/XP mit Benutzername/Passwort angezeigt wird)?
Motzi hatte folgendes geschrieben:
Zitat:
Deswegen hab ich dir auch schon die zwei
API-Funktionen Suche im Microsoft Developers NetworkLsaEnumerateLogonSessions und Suche im Microsoft Developers NetworkLsaGetLogonSessionData geliefert. Wenn du dir die mal anschaust wirst du feststellen, dass du damit ziemlich genau das machen kannst was du willst!
Wie werden die denn in Delphi interpretiert? Etwa so aus der JwaNtSecApi der win32api von Marcel van Brakel?:
Delphi-Quellcode:
function LsaLogonUser(LsaHandle:
HANDLE;
const OriginName: LSA_STRING;
LogonType: SECURITY_LOGON_TYPE; AuthenticationPackage: ULONG;
AuthenticationInformation: PVOID; AuthenticationInformationLength: ULONG;
LocalGroups: PTOKEN_GROUPS; SourceContext: PTOKEN_SOURCE;
var ProfileBuffer: PVOID;
var ProfileBufferLength: ULONG;
var LogonId: LUID;
var Token:
HANDLE;
var Quotas: QUOTA_LIMITS;
var SubStatus: NTSTATUS): NTSTATUS;
stdcall;
Wie spreche ich diese Funktion an und wie werte ich aus, ob ein Benutzer angemeldet ist?
Puuh
hatte mir das gar nicht so kompliziert vorgestellt, zu erfahren, ob ein Benutzer angemeldet ist.
Bin für jede Hilfe sehr dankbar!