Possuo esse código que segue abaixo, e estou com uma dúvida que é o seguinte:
Na primeira parte do código, possui um comando que executa o programa net send pelo DOS do Windows e envia mensagem ao destino qualquer. A variável ipMáquina é obtida através de uma conexão JDBC no banco de dados.
Minha dúvida é: o segundo bloco onde finaliza um programa qualquer não consegue finalizar o executável. Se eu for pelo MS-DOS e executar oc omando por exemplo:
taskkill /s 127.0.0.1 /f /im mspaint.exe
ele finaliza normalmente o programa Paint. assim como as maquinas destino, entretanto colocando esta linha de instrução no programa ele não finaliza. Mas o net send funciona normal.
Alguém sabe o que poderia ser?
Segue abaixo o meu bloco de código:
[code]private void jbExecutarActionPerformed(java.awt.event.ActionEvent evt) {
if (jbExecutar == evt.getSource()){
if (jcmbFuncao.getSelectedItem().toString() == “Enviar Mensagem”){
try{
String msg1 = jtaMensagem1.getText().trim();
Runtime.getRuntime().exec("c:\windows\system32\net send " + ipMaquina + " " + msg1 + " ");
System.out.println(ipMaquina + msg1 + “”);
}catch (Exception e){
e.printStackTrace();
}
}
if (jcmbFuncao.getSelectedItem().toString() == “Finalizar Programa”){
try{
String msg1 = jtaMensagem1.getText().trim();
Runtime.getRuntime().exec("c:\windows\system32\taskkill /S " + ipMaquina + "/F /IM " + msg1);
}catch (Exception e){
e.printStackTrace();
}
}
}
}
[/code]
Obrigado desde já.
Edit1: Acredito que seja devido a barra “/” , mas acredito que o único problema que temos que é a barra “” por ser um caracter de escape. Acho que é isto o problema, só que não sei como resolver isto.