如何获取计算机呀,请大家帮忙呀?

解决方案 »

  1.   

    给你一个思路.用Gethostbyname函数. 此函数返回一个指向hostent 结构的指针.
      

  2.   

    Function GetNameByIP(MIP:string; var Name:string):boolean; 
    varPHt:PHostEnt;WSData: TWSAData;i:Word;j:integer;k:u_long;beginresult:=false;i:=MAKEWORD(1,1);if WSAStartup(i,WSData)<>0 then exit;k:=inet_addr(PChar(MIP));PHt:=gethostbyaddr(@k,4,PF_INET);if PHt=nil then beginj:=WSAGetLastError;Name:='Error:'+inttostr(j-WSABASEERR);end else beginName:=PHt.h_name;result:=true;end;WSACleanup;end;
     
      

  3.   

    type
      PnetResourceArr = ^TNetResource;  //
    ..............
    procedure GetUserList(fServer:string;List:TListItems);
    Var
      NetResource : TNetResource;
      Buf        : Pointer;
      Count,
      BufSize,
      Res        : DWord;
      Ind        : Integer;
      lphEnum    : THandle;
      Temp        : PNetResourceArr;
    item:TListItem;
    Begin
      List.Clear;
      GetMem(Buf, 8192);
      Try
        FillChar(NetResource, SizeOf(NetResource), 0);
        NetResource.lpRemoteName := @fServer[1];
        NetResource.dwDisplayType := RESOURCEDISPLAYTYPE_SERVER;
        NetResource.dwUsage := RESOURCEUSAGE_CONTAINER;
        NetResource.dwScope := RESOURCETYPE_DISK;
        Res := WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_DISK, RESOURCEUSAGE_CONTAINER, @NetResource,lphEnum);
        If Res <> 0 Then Exit;
        While True Do
        Begin
          Count := $FFFFFFFF;
          BufSize := 8192;
          Res := WNetEnumResource(lphEnum, Count, Pointer(Buf), BufSize);
          If Res = ERROR_NO_MORE_ITEMS Then Exit;
          If (Res <> 0) then Exit;
          Temp := PNetResourceArr(Buf);
          For Ind := 0 to Count - 1 do
          Begin
            Item := form1.user_box.Items.Insert(0);
            Item.Caption := Temp^.lpRemoteName + 2;
            Inc(Temp);
          End;
        End;
        Res := WNetCloseEnum(lphEnum);
        If Res <> 0 Then Raise Exception(Res);
      Finally
        FreeMem(Buf);
      End;End;
    ..................
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      GetUserList('TTN',listview1.Items);
    end;..........................