Function Tform1.GetUserResource( UserName : string ; var List : TStringList ) : Boolean;
type
   TNetResourceArray = ^TNetResource;//网络类型的数组
Var
  NetResource : TNetResource;
  Buf : Pointer;
  Count,BufSize,Res : DWord;
  Ind : Integer;
  lphEnum : THandle;
  Temp : TNetResourceArray;
Begin
  Result := False;
  List.Clear;
  FillChar(NetResource, SizeOf(NetResource), 0);  //初始化网络层次信息
  NetResource.lpRemoteName := @UserName[1];       //指定计算机名称
  Res := WNetOpenEnum( RESOURCE_GLOBALNET, RESOURCETYPE_ANY,RESOURCEUSAGE_CONNECTABLE, @NetResource,lphEnum);
   //获取指定计算机的网络资源句柄
 If Res <> NO_ERROR Then exit;                   //执行失败
  While True Do                                  //列举指定工作组的网络资源
   Begin
    Count := $FFFFFFFF;                            //不限资源数目
    BufSize := 8192;                              //缓冲区大小设置为8K
    GetMem(Buf, BufSize);                   //申请内存,用于获取工作组信息
    Res := WNetEnumResource(lphEnum, Count, Pointer(Buf), BufSize);
                              //获取指定计算机的网络资源名称
  If Res = ERROR_NO_MORE_ITEMS Then break;//资源列举完毕
   If (Res = NO_ERROR) then Exit;        //执行失败
     Temp := TNetResourceArray(Buf);
    For Ind := 0 to Count - 1 do
     Begin
     List.Add(Temp^.lpRemoteName);
     Inc(Temp);
    End;
 End;
 Res := WNetCloseEnum(lphEnum);          //关闭一次列举
 If Res <> NO_ERROR Then exit;           //执行失败
   Result := True;
   FreeMem(Buf);
End;
执行完,但是找不到共享资源,试了好几台机器,就是不行,请赐教!!!