![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
показ копьютеров [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 (Сетевое окружение) ?