如果不要密码的话可以用Runtime.exec调用系统命令set user来获得。

解决方案 »

  1.   

    用native method 调用c++的方法实现
      

  2.   

    如果不要密码的话可以用Runtime.exec调用系统命令set user来获得。应该用net user吧!!!
      

  3.   

    net user\\JINGUO のユーザー アカウント-------------------------------------------------------------------------------
    Administrator            Guest                    IUSR_JINGUO              
    IWAM_JINGUO              VUSR_JINGUO              
    コマンドは正常に終了しました。net name名前              
    -------------------------------------------------------------------------------
    JINGUO          
    JINGUO$         
    WANGJG          
    コマンドは正常に終了しました。net user中没有当前登陆用户名,net name中有wangjg但要如何在java中获取到,我还不知道try
      

  4.   

    用native method 调用c++的方法实现
      

  5.   

    InputStream is = Runtime.getRuntime().exec("net name").getInputStream();
    BufferedReader br = new BufferedReader(new InputStreamReader(is));
    String str="";
    while((str=br.readLine()) != null)
    {
    System.out.println(str);
    }sorry,问题是如何获得局域网中每个机子的登陆名?
      

  6.   

    public static String getComputerName(InetAddress address){
        String name="" ;
        try{
            name=address.getHostName() ;
        }
        catch(Exception e){
            e.printStackTrace() ;
        }
        return name ;
    }
    若是本地主機,只需:
        InetAddress add = InetAddress.getHostAddress() ;
        computerName    = getComputerName(add) ;
    若是遠程主機,需要先獲取其主機地址,然後用getComputerName()方法
      

  7.   

    下面是取得机器上哪个用户登陆的用户名,循环第1个是机器名,第二个是登陆的用户名,第三个是登陆用户的主文件夹,你自己看看还有什么需要修改的。      Process p = null;
          Properties envVars = new Properties();
          Runtime r = Runtime.getRuntime();
          p = r.exec( "cmd.exe /c set user" );
          BufferedReader br = new BufferedReader ( new InputStreamReader( p.getInputStream() ) );
          String line;
          while( (line = br.readLine()) != null ) {
            int idx = line.indexOf( '=' );
            String key = line.substring( 0, idx );
            String value = line.substring( idx+1 );
            envVars.setProperty( key, value );
            System.out.println( key + " = " + value );
          }
      

  8.   

    但是按楼上的方法,我把它包装成window的服务后,就不能获得用户名了哦!还有更好的解决方法吗?