好象 Delphi 对于 netapi32.dll 中所有的函数及结构体都没定义,所以得自己。
只可惜太多太繁,要是谁已定义过,希望能共享。我只定义了少数几个:unit NetAPI;interfaceuses
  Windows, Pubdata, Pubfunc;const
  netapi32    = 'netapi32.dll';
  MAXARRAYLEN = 65536;//  用户组资料
type
  P_A_LOCALGROUP_INFO_1 = ^A_LOCALGROUP_INFO_1;
  st_LOCALGROUP_INFO_1 = record
    lgrpi1_name: PWideChar;
    lgrpi1_comment: PWideChar;
  end;
  A_LOCALGROUP_INFO_1 = array [0..MAXARRAYLEN-1] of st_LOCALGROUP_INFO_1;//  用户组成员资料
type
  P_A_LOCALGROUP_MEMBERS_INFO_3 = ^A_LOCALGROUP_MEMBERS_INFO_3;
  st_LOCALGROUP_MEMBERS_INFO_3 = record
    lgrmi3_domainandname: PWideChar;
  end;
  A_LOCALGROUP_MEMBERS_INFO_3 = array [0..MAXARRAYLEN-1] of st_LOCALGROUP_MEMBERS_INFO_3;//  用户资料
type
  P_A_USER_INFO_1 = ^A_USER_INFO_1;
  st_USER_INFO_1 = record
    usri1_name: PWideChar;
    usri1_password: PWideChar;
    usri1_password_age: DWORD;
    usri1_priv: DWORD;
    usri1_home_dir: PWideChar;
    usri1_comment: PWideChar;
    usri1_flags: DWORD;
    usri1_script_path: PWideChar;
  end;
  A_USER_INFO_1 = array [0..MAXARRAYLEN-1] of st_USER_INFO_1;
//  释放网络资源,必须调用
function NetApiBufferFree(buffer: pointer): DWORD; stdcall;
  external netapi32 name 'NetApiBufferFree';//  读取用户组资料
function NetLocalGroupEnum(servername: PWideChar; level: DWORD;
  var bufptr: P_A_LOCALGROUP_INFO_1; prefmaxlen: DWORD;
  var entriesread, totalentries, resumehandle:DWORD): DWORD; stdcall;
  external netapi32 name 'NetLocalGroupEnum';//  读取用户组成员资料
function NetLocalGroupGetMembers(servername: PWideChar; localgroupname: PWideChar;
  level: DWORD; var bufptr: P_A_LOCALGROUP_MEMBERS_INFO_3; prefmaxlen: DWORD;
  var entriesread, totalentries, resumehandle:DWORD): DWORD; stdcall;
  external netapi32 name 'NetLocalGroupGetMembers';
function NetUserEnum(servername :PWideChar;
  level, filter: DWORD;
  var bufptr: P_A_USER_INFO_1;
  prefmaxlen: DWORD;
  var entriesread, totalentries, resume_handle: DWORD): DWORD; stdcall;
  external netapi32 name 'NetUserEnum';implementationend.