Abrir arquivo .exe com JButton

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…

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

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

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?

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());

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

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