
19.11.2012, 10:13
|
 |
Let Me Show You
|
|
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
|
|
GetUserName
ConvertSidToStringSid
все написано. так честнее будет:
Код:
function ConvertSidToStringSid(Sid: PSID; var StringSid: LPTSTR): Boolean;
stdcall; external 'Advapi32.dll' name 'ConvertSidToStringSidA';
function StringSid: String;
var
UserName: array [0..$ff] of Char;
UserNameLen: Cardinal;
cbSid: DWORD;
cbReferencedDomainName: DWORD;
peUse: SID_NAME_USE;
Sid: PSID;
ReferencedDomainName: LPTSTR;
sSid: PChar;
begin
Result:='';
UserNameLen:=Length(UserName);
GetUserName(@UserName[0], UserNameLen);
cbSid:=0;
cbReferencedDomainName:=0;
LookupAccountName(nil,
@UserName[0],
nil, cbSid,
nil, cbReferencedDomainName,
peUse);
Sid:=GetMemory(cbSid);
ReferencedDomainName:=GetMemory(cbReferencedDomainName);
LookupAccountName(nil,
@UserName[0],
Sid, cbSid,
ReferencedDomainName, cbReferencedDomainName,
peUse);
ConvertSidToStringSid(Sid, sSid);
Result:=sSid;
LocalFree(Cardinal(sSid));
FreeMemory(Sid);
FreeMemory(ReferencedDomainName);
end;
__________________
Пишу программы за еду.
__________________
|