Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 719

/ вопрос открыт /

Здравствуйте, уважаемые эксперты!
Для определения всех компьютеров в сети пользуюсь таким способом (см. приложение). Но, после реорганизации произошедшей в моей сетке, программа перестала работать, т.к. не определяет некоторые компьютеры, в частности которые не видно в сетевом окружении (сами компы-то есть, если ай-пи вручную вводить все норомально). Да и индексы лишние приписывает. Все, что удалось нарыть работает по той же схеме, что и приведенный код. Млжет, есть другой способ?

Приложение:
  1. function TNetForm.FillNetLevel(xxx: PNetResource; List:TListItems): Word;
  2. Type
  3. PNRArr = ^TNRArr;
  4. TNRArr = array[0..59] of TNetResource;
  5. Var
  6. x: PNRArr;
  7. tnr: TNetResource;
  8. I : integer;
  9. EntrReq,
  10. SizeReq,
  11. twx: THandle;
  12. WSName: string;
  13. LI:TListItem;
  14. begin
  15. Result :=WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_ANY,RESOURCEUSAGE_CONTAINER, xxx, twx);
  16. If Result = ERROR_NO_NETWORK Then Exit;
  17. if Result = NO_ERROR then
  18. begin
  19. New(x);
  20. EntrReq := 1;
  21. SizeReq := SizeOf(TNetResource)*59;
  22. while (twx <> 0) and
  23. (WNetEnumResource(twx, EntrReq, x, SizeReq) <> ERROR_NO_MORE_ITEMS) do
  24. begin
  25. For i := 0 To EntrReq - 1 do
  26. begin
  27. Move(x^[i], tnr, SizeOf(tnr));
  28. case tnr.dwDisplayType of
  29. RESOURCEDISPLAYTYPE_SERVER:
  30. begin
  31. if tnr.lpRemoteName <> '' then
  32. WSName:= tnr.lpRemoteName
  33. else WSName:= tnr.lpComment;
  34. LI:=list.Add;
  35. LI.Caption:=copy(WSName,3,length(WSName)-2);
  36. //list.Add(WSName);
  37. end;
  38. else FillNetLevel(@tnr, list);
  39. end;
  40. end;
  41. end;
  42. Dispose(x);
  43. WNetCloseEnum(twx);
  44. end;
  45. end;
  46.  
  47.  


Качурин Антон Павлович Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Качурин Антон Павлович (статус: Посетитель)
Вопрос отправлен: 9 июля 2007, 22:36
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: Вадим К

Здравствуйте, Качурин Антон Павлович!
А может поковырять в другом направлении? я бы взял и попинговал подсетку. Но предупрежу, некоторые машины закрыты фаерволами и не будут отзываться. Если фаервол настоен крамотно, то у вас врядли что то получиться. Что бы пробиться через такие защиты прийдётся изучать уязвимости протоколов и так дальше, но это тема уже другого сайта...

Ответ отправил: Вадим К (статус: Академик)
Время отправки: 10 июля 2007, 00:37


Мини-форум вопроса

Мини-форум пуст.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:38
Выполнено за 0.03 сек.