Abrir arquivo .exe com JButton

6 respostas
java
K

Boa noite gente.
Eu quero abrir através do evento ActionPerformed de um JButton uma programa externo. No caso, é o exe do jogo Star Stable.
Sei que existem vários e vários tópicos no fórum falando sobre esse assunto, porém, tentei segui-los e não obtive êxito.

Tentei as seguintes maneiras sem nenhum resultado ( nem mensagem de erro foi retornado ):

File arquivo = new File("D:\\MeusJogos\\JogosdeAnimais\\StarStable\\StarStable.exe");
   try {
       Process p = Runtime.getRuntime().exec("cmd.exe /c \"" +arquivo.getAbsolutePath() +"\"");
       
   } catch (IOException ex) {
       Logger.getLogger(frmTestando.class.getName()).log(Level.SEVERE, null, ex);
   }
}

Tentei também desta maneira:

String url = null;
   url = "D:\\MeusJogos\\JogosdeAnimais\\StarStable\\StarStable.exe";
   try {
       Process processo = Runtime.getRuntime().exec(url);
       
   } catch (IOException ex) {
       Logger.getLogger(frmTestando.class.getName()).log(Level.SEVERE, null, ex);
   }

Enfim, tiveram outras tentativas também, todas sem êxito. Se puderem me ajudar, agradeço. brigada…

6 Respostas

K

Estranho que os “.exe” que estão no diretório C: funcionam normal e os do diretório D: não :frowning:

staroski

Tente usar essa API:
http://www.staroski.com.br/2013/04/25/linha-comando-java/
:slight_smile:

K

Então, eu baixar aqui e tudo +… ele abre a calculadora, MS Word, Excel etc… porém, assim como os outros exemplos acima, não abre o .exe que eu quero. Existe algum outro tipo de comando para executar arquivos .exe?

staroski

Talvez esse programa da sua unidade D: espera ser executado a partir da pasta dele, se baixou os fontes do meu exemplo, é só executar assim:

String pasta = "D:\\MeusJogos\\JogosdeAnimais\\StarStable";
String executavel= pasta + "\\StarStable.exe";
Command meuPrograma= new Command(executavel);
int exitCode = meuPrograma.execute(new File(pasta));
System.out.println("Exit Code: " + exitCode);
System.out.println("Errors:    " + meuPrograma.getError());
System.out.println("Output:    " + meuPrograma.getOutput());
K

Retorna um erro que diz que “A operação solicitada requer elevação”

staroski

Então você não tem permissão de acesso, tens que executar teu aplicativo Java como administrador

Criado 29 de abril de 2017
Ultima resposta 3 de mai. de 2017
Respostas 6
Participantes 2