Re: Работа с сетевыми ресурсами
От: DemAS http://demas.me
Дата: 22.10.02 15:15
Оценка:
Здравствуйте Аноним, Вы писали:


А>Вот есть такая функция:


А>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 ?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.