同上

解决方案 »

  1.   

    帮你找了一段,unit Unit1; interface uses 
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, 
      ComCtrls, StdCtrls ,winsock; type 
      TForm1 = class(TForm) 
        Button1: TButton; 
        procedure Button1Click(Sender: TObject); 
      private 
        { Private declarations } 
        function GetIP(Name:String) : string; 
        procedure GetDomainList(); 
      public 
        { Public declarations } 
      end; var 
      Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); 
    begin 
    GetDomainList(); 
    end; //////////////////////////////////////// 
    function TForm1.GetIP(Name:String):String; 
    var 
      WSAData: TWSAData; 
      HostEnt: PHostEnt; 
      sIP: string; 
    begin 
      WSAStartup(2, WSAData); 
      HostEnt := gethostbyname(PChar(Name)); 
      if HostEnt <> nil then 
      begin 
        with HostEnt^ do 
          sIP := Format('%d.%d.%d.%d', [Byte(h_addr^[0]), Byte(h_addr^[1]), Byte(h_addr^[2]), Byte(h_addr^[3])]);   end; 
      WSACleanup; 
      result:= sIP; 
    end; 
    /////////////////////////////////////// procedure TForm1.GetDomainList(); 
    var 
    i : Integer; 
    ErrCode : Integer; 
    NetRes : Array[0..1023] of TNetResource; 
    EnumHandle : Thandle; 
    EnumEntries : Dword; 
    BufferSize : Dword; 
    ComputerIP,ComputerName:String; 
    begin 
    //try 
    With NetRes[0] do begin 
       dwScope :=RESOURCE_GLOBALNET; 
       dwType :=RESOURCETYPE_ANY; 
       dwDisplayType :=RESOURCEDISPLAYTYPE_DOMAIN; 
       dwUsage :=RESOURCEUSAGE_CONNECTABLE; 
       lpLocalName :=NIL; 
       lpRemoteName :=NIL; 
       lpComment :=NIL; 
       lpProvider :=NIL; 
       end; 
    { get net root } 
    ErrCode:=WNetOpenEnum( 
    RESOURCE_GLOBALNET, 
    RESOURCETYPE_ANY, 
    RESOURCEUSAGE_CONTAINER, 
    @NetRes[0], 
    EnumHandle 
    ); If ErrCode=NO_ERROR then begin 
       EnumEntries:=1; 
       BufferSize:=SizeOf(NetRes); 
       ErrCode:=WNetEnumResource(EnumHandle,EnumEntries,@NetRes[0],BufferSize); 
       WNetCloseEnum(EnumHandle); 
       ErrCode:=WNetOpenEnum( 
       RESOURCE_GLOBALNET, 
       RESOURCETYPE_ANY, 
       RESOURCEUSAGE_CONNECTABLE, 
       @NetRes[0], 
       EnumHandle 
       ); 
       EnumEntries:=1024; 
       BufferSize:=SizeOf(NetRes); 
       ErrCode:=WNetEnumResource( 
       EnumHandle, 
       EnumEntries, 
       @NetRes[0], 
       BufferSize 
       );    for i:=0 to 1023 do 
          if NetRes[i].lpRemoteName='' then Exit 
          else begin 
            ComputerName:=Copy(NetRes[i].lpRemoteName,3,Length(NetRes[i].lpRemoteName)-2); 
            ComputerIP:=GetIP(ComputerName); 
            ShowMessage('计算机名' + NetRes[i].lpRemoteName + chr(13) 
             + '计算机说明:' + NetRes[i].lpComment + chr(13) 
             + 'IP地址:' + ComputerIP); 
       end; 
       end; 
     end; end. 
      

  2.   

    //windows 2000
    begin
      winexec('cmd /c net view>c:\ttt.txt',sw_hide);
    end;//windows 9x
    begin
      winexec('command.com /c net view>c:\ttt.txt',sw_hide);
    end;然后到c:\ttt.txt看看。剩下的事情就是把c:\ttt.txt中的内容读取到listbox中了