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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.008 c
3-53883
opoloXAI
2003-02-25 10:53
2003.03.17
DBGrid.Column


8-54125
Noname_
2002-12-04 12:14
2003.03.17
UYVY -> RGB


14-54283
Melbis
2003-02-28 16:17
2003.03.17
Приличная таблица на делфи?


3-53916
Roki
2003-02-26 09:52
2003.03.17
Почему выскакивает ошибка - 901


3-53903
Alex9801
2003-02-25 14:58
2003.03.17
Добавление данных в TClientDataSet из другого DataSet.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский