Вниз
Скачать: CL | DM;

Определениие списка компьютеров в сети.   Найти похожие ветки 

← →
ctapik-net ©   (2002-02-14 15:53) [0]

Использую следующую процедуру для определения компов в сети


procedure TGetComputers.EnumSubResources(Items: TTreeNodes; Node: TTreeNode;lpNetResource: PNetResource);
const
MAX_RES = 16;
type
PResources = ^TResources;
TResources = array[0..MAX_RES-1] of TNetResource;
var
hEnum: THandle;
Count: Cardinal;
Res: Integer;
Resources: PResources;
BufferSize: Cardinal;
I: Integer;
NewNode: TTreeNode;
NewNodeName: String;
begin
// Открываем доступ к перечню сетевых ресурсов
Res := WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_ANY, 0, lpNetResource, hEnum);
if NO_ERROR <> Res then
Exit;
// Массив, в который читаются сетевые ресурсы
BufferSize := SizeOf(TResources);
GetMem(Resources, BufferSize);
while Not Terminated do
begin
// Загружаем перечень ресурсов в массив
// Если возникла ошибка, значит, ресурсов больше нет --- покидаем цикл
Count := MAX_RES;
Res := WNetEnumResource(hEnum, Count, Resources, BufferSize);
if (Res <> NO_ERROR) and (Res <> ERROR_MORE_DATA) then
Break;
// В противном случае копируем сетевые ресурсы в дерево
for I := 0 to Count - 1 do
begin
// Добавляем дочерний узел
If Terminated Then Break ;
if Assigned(Resources^[I].lpRemoteName) then
NewNodeName := String(Resources^[I].lpRemoteName)
else
NewNodeName := String(Resources^[I].lpComment);
NewNode := Items.AddChild(Node, NewNodeName);
// Вызываем процедуру рекурсивно для заполнения этого узла,
// если узел содержит подузлы
if (Resources^[I].dwUsage and RESOURCEUSAGE_CONTAINER) <> 0 then
EnumSubResources(Items, NewNode, @(Resources^[I]));
end;
end;
FreeMem(Resources);
// Закрываем доступ
WNetCloseEnum(hEnum);
end ;


Она почему-то находит не все компы? Помогите понять где собака зарыта! Заранее благодарен.


← →
Dimka Maslov ©   (2002-02-15 15:26) [1]

http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1013700538&n=4



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.008 c
3-94266
Rub
2002-04-05 15:53
2002.04.29
Народ, кто-нибудь может доступным языком и в двух словах...


3-94285
sany
2002-04-08 08:57
2002.04.29
надо базу данных написать для хранения информации о видео кассетх


3-94320
Юляша
2002-04-07 13:21
2002.04.29
Secondary index


1-94388
Gamar
2002-04-17 16:49
2002.04.29
Как обработать OwnerDraw???


3-94329
Makuha
2002-04-09 16:28
2002.04.29
Не могу правильно задать вопрос (смотри текст письма)




   Наверх