(Co-Admin)
Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
Turbo Delphi für Win32
|
Angemeldeten Benutzer auslesen
10. Jul 2006, 20:32
Hier zeigt Luckie wie man den angemeldeten Benutzernamen unter Windows auslesen kann:
Delphi-Quellcode:
function GetLoggedOnUserNameEx(fFormat: DWORD; var Username: String): DWORD;
var
Size: DWORD;
Buffer: array [0..1024] of Char;
begin
Result := 0;
Size := sizeof(Buffer);
if GetUserNameEx(fFormat, Buffer, Size) then
SetString(Username, Buffer, Size-1)
else
Result := GetLastError;
end;
procedure TForm1.Button1Click(Sender: TObject);
const
NameFormats : Array[0..9] of DWORD = (
NameUnknown,
NameFullyQualifiedDN,
NameSamCompatible,
NameDisplay,
NameUniqueId,
NameCanonical,
NameUserPrincipal,
NameCanonicalEx,
NameServicePrincipal,
DNSDomainName);
var
Username: String;
err: DWORD;
i : shortint;
sMessage : string;
begin
for i := 0 to high(NameFormats) do
begin
err := GetLoggedOnUserNameEx(NameFormats[i], Username);
if err = 0 then
sMessage := sMessage+format('%d: %s', [NameFormats[i], Username])+#13
else
sMessage := sMessage+format('%d: %s', [NameFormats[i], SysErrorMessage(err)])+#13;
end;
ShowMessage(sMessage)
end;
Bei Problemen beachtet bitte den oben verlinkten Thread.
[edit=Chakotay1308]Von union vorgeschlagene Änderungen übernommen. Mfg, Chakotay1308[/edit]
|
|
Zitat
|