Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "Сети";
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.005 c
3-94291
B_A_V
2002-04-08 18:39
2002.04.29
Помогите пожалуйста разобраться, бьюсь уже целые сутки над создан


3-94260
kosty
2002-04-07 20:34
2002.04.29
база данных


14-94553
Pete
2002-03-23 11:10
2002.04.29
Console


4-94632
Эйнхерий
2002-02-26 10:51
2002.04.29
Загвоздка при использовании WH_KEYHOOK и передачи параметров в главное приложение.


4-94612
Grim Rider
2002-02-22 06:24
2002.04.29
PostMessage или приказано





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский