Thema: Delphi NetUserEnum die 2.

Einzelnen Beitrag anzeigen

CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#4
  Alt 7. Feb 2003, 14:58
Nach ein paar Unterredungen in ICQ ist folgendes herausgekommen:
Delphi-Quellcode:
procedure ListAllUsers(hTreeView: DWORD; hMasterParent: Cardinal; var iEntriesRead: Cardinal);
{type
  PUSER_INFO_0  = ^_USER_INFO_0;
  PUSER_INFO_11 = ^_USER_INFO_11;}

var
  aTempIStruct: TTVInsertStruct;
  aUserBuffer, aWorkBuffer: Pointer; //PUSER_INFO_0;
  dwEntriesRead: Cardinal;
  i: integer;
  sTemp: string;
begin
  aTempIStruct.item.mask := TVIF_TEXT;
  if NetUserEnum(nil, 0, FILTER_NORMAL_ACCOUNT, aUserBuffer, MAX_PREFERRED_LENGTH,
                 dwEntriesRead, dwEntriesRead, nil) = NERR_SUCCESS then begin
    aWorkBuffer := aUserBuffer;
    for i:=0 to dwEntriesRead-1 do begin
      aTempIStruct.hParent := Pointer(hMasterParent);
      sTemp := PUserInfo0(aWorkBuffer)^.usri0_name;
      aTempIStruct.item.pszText := @sTemp[1];
      SendMessage(hTreeView, TVM_INSERTITEM, 0, integer(@aTempIStruct));

      inc(Integer(aWorkBuffer), sizeOf(aWorkBuffer));
    end;
  end;
  NetAPIBufferFree(aUserBuffer);
end;
Allerdings ist hier die ursprüngliche Deklaration von NetUserEnum bei zubehalten. Ich hatte sie geändert, da Christian das so gepostet hat (oder ich habe ihn missverstanden).
Nochmal danke @ Luckie..

Chris
  Mit Zitat antworten Zitat