GetLocalUserList - возвращает список пользователей (Windows NT, Windows 2000)
| Code: | 
| unit Func; 
 interface 
 uses Sysutils, Classes, Stdctrls, Comctrls, Graphics, Windows; 
 //////////////////////////////////////////////////////////////////////////////// {$EXTERNALSYM NetUserEnum} function NetUserEnum(servername: LPWSTR; 
 level, filter: DWORD; bufptr: Pointer; prefmaxlen: DWORD; entriesread, totalentries, resume_handle: LPDWORD): DWORD; stdcall; external 'NetApi32.dll' Name 'NetUserEnum'; 
 function NetApiBufferFree(Buffer: Pointer {LPVOID}): DWORD; stdcall; 
 external 'NetApi32.dll' Name 'NetApiBufferFree'; //////////////////////////////////////////////////////////////////////////////// 
 procedure GetLocalUserList(ulist: TStringList); 
 implementation 
 //------------------------------------------------------------------------------ // возвращает список пользователей локального хоста //------------------------------------------------------------------------------ 
 procedure GetLocalUserList(ulist: TStringList); const 
 NERR_SUCCESS = 0; FILTER_TEMP_DUPLICATE_ACCOUNT = $0001; FILTER_NORMAL_ACCOUNT = $0002; FILTER_PROXY_ACCOUNT = $0004; FILTER_INTERDOMAIN_TRUST_ACCOUNT = $0008; FILTER_WORKSTATION_TRUST_ACCOUNT = $0010; FILTER_SERVER_TRUST_ACCOUNT = $0020; 
 type 
 TUSER_INFO_10 = record usri10_name, usri10_comment, usri10_usr_comment, usri10_full_name: PWideChar; end; PUSER_INFO_10 = ^TUSER_INFO_10; 
 var 
 dwERead, dwETotal, dwRes, res: DWORD; inf: PUSER_INFO_10; info: Pointer; p: PChar; i: Integer; begin 
 if ulist = nil then Exit; ulist.Clear; 
 info := nil; dwRes := 0; res := NetUserEnum(nil, 10, FILTER_NORMAL_ACCOUNT, @info, 65536, @dwERead, @dwETotal, @dwRes); if (res <> NERR_SUCCESS) or (info = nil) then Exit; p := PChar(info); for i := 0 to dwERead - 1 do begin inf := PUSER_INFO_10(p + i * SizeOf(TUSER_INFO_10)); ulist.Add(WideCharToString(PWideChar((inf^).usri10_name))); end; 
 NetApiBufferFree(info); end; 
 end. | 
Автор: Кондратюк Виталий
- Назад
- Вперёд >>
 
			
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!