Re: Работа с сетевыми ресурсами
Здравствуйте Аноним, Вы писали:
А>Вот есть такая функция:
А>var
А> Form1: TForm1;
А> Buf : array[0..200] of TNetResource;
А> CompCount:Integer;
А>function FindAllComputers(Workgroup: string):Integer;
А>var
А> EnumHandle : THandle;
А> WorkgroupRS : TNetResource;
А> BufSize : Cardinal;
А> Entries : Cardinal;
А> Rest : Cardinal;
А>begin
А> CompCount := 0;
А> Workgroup := Workgroup + #0;
А> FillChar(WorkgroupRS, SizeOf(WorkgroupRS) , 0);
А> with WorkgroupRS do begin
А> dwScope := RESOURCE_GLOBALNET;
А> dwType := RESOURCETYPE_ANY;
А> dwDisplayType := RESOURCEDISPLAYTYPE_DOMAIN;
А> dwUsage := RESOURCEUSAGE_CONTAINER;
А> lpRemoteName := @Workgroup[1];
А> end;
А> WNetOpenEnum(RESOURCE_GLOBALNET,RESOURCETYPE_ANY,0,@WorkgroupRS,EnumHandle );
А> Entries := 200;
А> BufSize:=SizeOf(Buf);
А> Rest:=WNetEnumResource(EnumHandle,Entries,@Buf[0],BufSize);
А> if (Rest = NO_ERROR) and (Entries > 0) then CompCount:=Entries;
А> WNetCloseEnum( EnumHandle );
А>end; { Find All Computers }
А>Если вызывать ее так:
А>procedure TForm1.Button1Click(Sender: TObject);
А>begin
А> FindAllComputers('');
А>end;
А>то она возвращает в Buf один элемент ('Сеть Microsoft Windows');
А>А как дальше получть список компов в этой сети ?
А>Пробовал так:
А> FindAllComputers('Сеть Microsoft Windows');
А>Возвращает пустой Buf.
Аноним — это я — просто настройки слетели.
Не у кого нет идей ?
Может модератор разрешит перенести вопрос в раздел WinAPI ?
Пока на собственное сообщение не было ответов, его можно удалить.