![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Получить список комппьютеров
still © (2003-02-04 16:04:00)Как получить список компьютеров с указанием свойств (напр., PDC или просто Workstation)?
Есть функция NetServerEnum, но я так и не понял как с ней работать. Может, у кого-то есть подобный опыт, помогите, плз.
Тень (2003-02-14 12:18:00) [1]>_Narayan_
Всё прекрасно, кроме того, что твоя проц. выдаёт список ВСЕХ папок. А у меня на серваке только инфы 30Gb...
_Narayan_ (2003-02-05 08:04:00) [2]procedure TForm1.Button1Click(Sender: TObject);
var Workgroup: TNetResource;
begin
ListBox1.Clear;
FillChar(Workgroup,SizeOf(Workgroup),0);
FindAllComputers(Workgroup);
end;
procedure FindAllComputers(Workgroup: TNetResource);
Var EnumHandle : THandle;
Buf : Array[1..1024] of TNetResource;
BufSize : Cardinal;
Entries : Cardinal;
Result : Integer;
mError : Integer;
begin
BufSize := SizeOf(Buf);
WNetOpenEnum(RESOURCE_GLOBALNET,RESOURCETYPE_ANY,0,@Workgroup,EnumHandle);
Repeat
Entries := 1;
Result :=WNetEnumResource(EnumHandle,Entries,@Buf,BufSize);
If (Result = NO_ERROR) and (Entries = 1) then
Begin
Application.ProcessMessages;
Form1.ListBox1.Items.Append(Format(Buf[1].lpRemoteName+" %d %d %d %d",[(Buf[1].dwScope),(Buf[1].dwType),(Buf[1].dwDisplayType),(Buf[1].dwUsage)]));
FindAllComputers(Buf[1]);
end;
Until (Entries <> 1) or (Result <> NO_ERROR);
WNetCloseEnum( EnumHandle );
end;
Константы RESOURCE_GLOBALNET,RESOURCETYPE_ANY и прочее
прописаны в модуле Windows кажется
savva (2003-02-04 18:52:00) [3]http://delphi.vitpc.com/asp/answer.asp?IDAnswer=15074