这个问题最好让administrator来帮你解决

解决方案 »

  1.   

    1)检测当前局域网中的所有domain的名字
    net view /domain
    2)检测当前domain中的主机名字
    net view /domain:Workgroup
      

  2.   

    在java中比较难实现吧!还得调用C写的东东!
      

  3.   

    adsi好像可以得到这些东西
    还能得到域内所有组,所有用户等信息
    不过这个都是windows平台下的
      

  4.   

    java无法实现
    本地方法调用c
      

  5.   

    The WNetEnumResource function continues a network-resource enumeration started by the WNetOpenEnum function. DWORD WNetEnumResource(
      HANDLE hEnum,          // handle to enumeration
      LPDWORD lpcCount,      // pointer to entries to list
      LPVOID lpBuffer,       // pointer to buffer for results
      LPDWORD lpBufferSize   // pointer to buffer size variable
    );用上面这个函数配合相应的函数可以实现你要的功能,我自已写过一个
    局域网内利用消息服务发送短消息的软件,利用以上函数采用递归的方
    法就可以列举出所有的主机(网络类型不同可能不一定管用,仅供参考)
      

  6.   

    呵呵,先用ping的方法得到所有主机的ip,然后用snmp协议试试看。
      

  7.   

    我不想用Windows api的方式,net view倒是個不錯的想法,但我不知道是不是tcp/ip通用的命令,如果是的话在java中应该如何用呢?
      

  8.   

    java can't.
    or implement NetBios Protocal in java, or native call Windows API/ADSI/'Net' command.
      

  9.   

    我以前做过一个类似的不知道是不是你想要的
    相当于一个广播:
    例如:自己的IP是:192.168.0.20;
    那逐个监测:192.168.0.0~192.168.0.255;
    大致如下,我从我以前的程序直接该的没编译过!
     public void broadcast()
    {
             byte [] addr=null;         try
    {
    InetAddress ita = InetAddress.getLocalHost();
    addr = ita.getAddress();
    }
    catch(Exception e)
    {}
             System.out.println(addr[0]+","+addr[1]+","+addr[2]+","+addr[3]);
             addr[3] = 0;

    try
    {
             for(int i=0;i<255;i++)
    {
          System.out.println(InetAddress.getByAddress(addr)); addr [3]++;
    }
    }
    catch(Exception e)
    {
    }
    }