Ich habe folgenden sehr nützlichen Code gefunden kann ihn aber leider nicht testen, da ich nicht an einer Domäne angemeldet bin.
Wäre jemand so nett, diesen für mich zu testen und mir mitzuteilen, welche Konstante für den Rückgabewert des (Netzwerk-)Domänennamen zuständig ist?
Delphi-Quellcode:
const
NameUnknown = 0;
NameFullyQualifiedDN = 1;
NameSamCompatible = 2;
NameDisplay = 3;
NameUniqueId = 6;
NameCanonical = 7;
NameUserPrincipal = 8;
NameCanonicalEx = 9;
NameServicePrincipal = 10;
NameDnsDomain = 12;
function GetUserNameExString(ANameFormat: DWORD): string;
var
Buf: array [0 .. 256] of AnsiChar;
BufSize: DWORD;
GetUserNameEx: function(NameFormat: DWORD; lpNameBuffer: LPSTR; var nSize: ULONG): BOOL; stdcall;
begin
Result := '';
BufSize := SizeOf(Buf) div SizeOf(Buf[0]);
GetUserNameEx := GetProcAddress(GetModuleHandle('secur32.dll'), 'GetUserNameExA');
if Assigned(GetUserNameEx) then
if GetUserNameEx(ANameFormat, Buf, BufSize) then
Result := Buf;
end;
Quelle:
http://stackoverflow.com/questions/8...dows-in-delphi