Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

показ копьютеров [D7, WinXP]


banzay_man ©   (2005-07-01 15:34:00) 

Привет мастера! у меня вопрос, как получить список всех компьютеров которие в сети, на подобии VIEW WORKGROUP COMPUTERS. Можеть быть есть фукция API, или какая нибудь процедура. Спосибо


Интиресующийся   (2005-07-05 11:21:00) [1]

Может их через Ping?
Результат все рабочие компы).

Вопрос только в том как определить диапозон для Ping'a!
Если есть список с машинами (работал с ними) работа упрашается.

P.S.
Пинг можно реализовать с помощью API (гдето был код) или при помощи стандартных компонентов.


АНТИСПАММЕР   (2005-07-04 02:11:00) [2]

в папке demo есть пример чата


stals   (2005-07-04 02:05:00) [3]

Хочется сделать консольный чат для локалки, пробовал работать с WinSock.dll, но что-то не получается... Можь кто поделиться примером сервера и клиента, способных обрабатывать сообщения?
Спасибо!


isasa   (2005-07-03 00:28:00) [4]

Небольшая ложка дегтя в бочку меда.
всех на которых включен NetBIOS через TCP/IP


Yegorchic   (2005-07-02 23:46:00) [5]

Вот процедура, кто то это, кстати, тут вроде писал.

var
 Computer: array[1..500] of string[25];
 ComputerCount: Integer;

procedure FindAllComputers(Workgroup: string);
var
 EnumHandle: THandle;
 WorkgroupRS: TNetResource;
 Buf: array[1..500] of TNetResource;
 BufSize: Integer;
 Entries: Integer;
 Result: Integer;
begin
 ComputerCount := 0;
 Workgroup := Workgroup + #0;
 FillChar(WorkgroupRS, SizeOf(WorkgroupRS), 0);
 with WorkgroupRS do
   begin
     dwScope := 2;
     dwType := 3;
     dwDisplayType := 1;
     dwUsage := 2;
     lpRemoteName := @Workgroup[1];
   end;
 WNetOpenEnum(RESOURCE_GLOBALNET,
   RESOURCETYPE_ANY,
   0,
   @WorkgroupRS,
   EnumHandle);
 repeat
   Entries := 1;
   BufSize := SizeOf(Buf);
   Result :=
     WNetEnumResource(EnumHandle,
     Entries,
     @Buf,
     BufSize);
   if (Result = NO_ERROR) and (Entries = 1) then
     begin
       Inc(ComputerCount);
       Computer[ComputerCount] := StrPas(Buf[1].lpRemoteName);
     end;
 until (Entries <> 1) or (Result <> NO_ERROR);
 WNetCloseEnum(EnumHandle);
end; { Find All Computers }


АНТИСПАММЕР   (2005-07-02 00:51:00) [6]

Всех компьютеров в сети или доступных по протоколу SMB (Сетевое окружение) ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо