Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.17;
Скачать: CL | DM;

Вниз

Имена рабочих групп   Найти похожие ветки 

 
Cosmic ©   (2003-01-26 14:59) [0]

Где-то здесь фигурировала темка, как найти имена компов в сети по заданному имени рабочей группы. А как найти это имя, если рабочих групп в домене несколько, а вернее даже есть домен и отдельно от него рабочая группа? Как найти их имена, чтобы подставить в ту функцию?


 
NewGuest   (2003-01-26 22:59) [1]

Надеюсь у вас есть сеть, где несколько рабочих групп.
Вот функция, которая отображает компутеры в каждой раб. группе... и пишет имена раб. группы. чуть модерните и она выдает только имена.

name_server:integer;

function TForm1.FillNetLevel2(xxx: PNetResource; list: TStrings) : Word;
Type
PNRArr = ^TNRArr;
TNRArr = array [0..59] of TNetResource;
Var
x: PNRArr;
tnr: TNetResource;
I : integer;
EntrReq,
SizeReq,
twx: Cardinal;
WSName: string;
begin
Result := WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_ANY, 0, xxx, twx);
If Result = ERROR_NO_NETWORK Then Exit;
if Result = NO_ERROR then begin
New(x);

EntrReq := 1;
SizeReq := SizeOf(TNetResource)*59;
while (twx <> 0) and(WNetEnumResource(twx, EntrReq, x, SizeReq) <> ERROR_NO_MORE_ITEMS) do begin
for i := 0 To EntrReq - 1 do begin
Move(x^[i], tnr, SizeOf(tnr));
case tnr.dwDisplayType of
RESOURCEDISPLAYTYPE_SERVER: begin
if tnr.lpRemoteName <> "" then
WSName:= tnr.lpRemoteName
else WSName:= tnr.lpComment;
list.Add(Copy(WSName,3,Length(WSName)));
Application.ProcessMessages;
end;
else
begin
list.Add(tnr.lpRemoteName); //Добавили имя группы

FillNetLevel2(@tnr, list);
end;
end;
end;
end;
Dispose(x);
WNetCloseEnum(twx);
end;
end;


//Пример использования
FillNetLevel2(nil,CheckBox1.Items);



 
Cosmic ©   (2003-01-27 10:12) [2]

Спасибо, прога действительно ищет всё. А можно ли ограничить область поиска так, чтобы искались только имена компьютеров, а не рабочих групп? Причем, чтобы искались имена во всех имеющихся рабочих группах?


 
NewGuest   (2003-01-27 10:50) [3]

Ну конечно, убери вот эту строчку и всё

list.Add(tnr.lpRemoteName);



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

Текущий архив: 2003.03.17;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
14-54202
Вася Добрый
2003-03-01 10:17
2003.03.17
Фрактал


6-54156
Cosmic
2003-01-27 10:17
2003.03.17
Кол-во компов в сети


1-53964
4rex
2003-03-05 23:07
2003.03.17
Как сделать порядок в проигрывании файлов


14-54295
uw
2003-02-28 19:01
2003.03.17
Что ответить дедушке 2


1-54056
Андрусь
2003-03-03 19:24
2003.03.17
переименовать файл не нарушив блокировки