Grande peczenyj, to com um problema bem parecido, to tentando executar este comando, porem ele pede senha e nao consigo enviar a senha.
EXECUTAR DO WINDOWS XP - SP3
RUNAS /user:administrador notepad.exe
public static void main(String args[]) {
try {
Runtime cmd = Runtime.getRuntime();
Process processo = cmd.exec("RUNAS /user:administrador \"netsh interface ip set address name=\"local\" source=dhcp\"");
byte[] senha = new byte[]{'s', 'e', 'n', 'h', 'a'};
/*processo.getOutputStream().write(senha);*/ TESTE 1
/*processo.getInputStream().read(senha);*/ TESTE 2
Scanner ler = new Scanner(processo.getInputStream());
System.out.println(ler.nextLine().toString());
} catch (IllegalAccessError e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
com os dois metodos, ele cai na tela de senha e fica guardando a entrada da senha.
Ao tentar
Runtime.getRuntime().exec(cmd);
Runtime.getRuntime().exec(senha);
/*-- O MESMO COM--*/
processo = cmd.exec("RUNAS /user:administrador \"netsh interface ip set address name=\"local\" source=dhcp\"");
processo = cmd.exec("senha");
ele fica como 2 comandos independentes (se bem que parece logico ja que to setando duas vezes, nao axei tipo “processo.executa(comando)” seria perfeito), ai da comando invalido quando tenta passar a senha
tentei passar a como array, String cmd[] = new String[] {“notepad.exe”, “senha”};
mas ainda sim continua executando como comandos separados.
executa ai, se for possivel:
RUNAS /user:administrador notepad.exe
pra ver a tela que cai
Nao consegui entender o “\n” que coloaste na resposta tentei o comando todo no caso de teste
…exec(“RUNAS /user:administrador notepad.exe \n senha”);
ou
byte[] senha = new byte[]{‘s’, ‘e’, ‘n’, ‘h’, ‘a’, ‘\n’};
nao acontece nada