При закрытии подписчики были переданы в рассылку "Delphi - проблемы и решения" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Выберите действие: Послать совет в рассылкуЗадать вопрос в рассылкуОтветить на вопрос в рассылкеЗаглавие (одной строкой) :Содержание :
От кого : Не показывать мой e-mail другим пользователям
Нахождение всех компьютеров в рабочей группе
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 }