找一本关于如何用TCP/IP进行网络编程的书看一看,我因在网吧上网,没带书不好意思

解决方案 »

  1.   


    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; {找到所有的计算机}