![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#9
|
||||
|
||||
![]() 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; Пишу программы за еду. __________________ |