C++ e Java, juntos? [RESOLVIDO]

Boa tarde pessoal,
seguinte pesquisei aqui no fórum e no google, porém não achei a resposta para minha dúvida ainda…
Eu tenho um programa Java J2SE, e queria que quando o usuário clica-se em um JButton um programa em C++ fosse aberto. Parecia algo simples de fazer (por isso postei em Java Básico) , entretando não consegui achar nada :cry: , pensei que seria algo do tipo: "algumaClasseDoJava.algumMetodo(“C:\programaEmC++.exe”) ou então a mesma coisa anterior, porém, que chama-se um .bat que depois chama-se o .exe.

Alguém tem alguma ideia de com fazer isto. Desde já agradeço. :slight_smile:

Para chamar o .bat Runtime.exec("C:/path/para/o/bat");
Ou, se quer chamar o programa diretamente, pesquise sobre Desktop

Cara dá pra executar um .exe diretamente usando o

Runtime.getRuntime.exec("c:\windows\notpad.exe")

…basta tomar os devidos cuidados com o caminho dos arquivos.

Há outras opções, basta dar uma pesquisada (em inglês…)

Abraço

Desta forma você está expondo seu programa a possíveis falhas relacionadas à segurança. Seria mais interessante você criar uma DLL com o código em C++, e chamar a função principal, a função main() desta DLL, ou qualquer outra função, desde que execute a ação por você esperada.

A especificação do JEE fala de uma API chamada JNI

http://download.oracle.com/javase/6/docs/technotes/guides/jni/

que serve para chamadas a códigos legados em C e C++.

Obrigado a todos pela ajuda :D, desculpe-me talvez não entendi direito o exemplo de vocês:

[quote]especificação do JEE fala de uma API chamada JNI

http://download.oracle.com/javase/6/docs/technotes/guides/jni/

que serve para chamadas a códigos legados em C e C++. [/quote]

Acessei e os li, legal, segue toda a padronização… :smiley: só que estava tentando algo um pouco mais simples (só pra começar), algo do tipo:

[quote]Cara dá pra executar um .exe diretamente usando o
view plaincopy to clipboardprint?
Runtime.getRuntime.exec(“c:\windows\notpad.exe”)[/quote]

Ou…

[quote]Para chamar o .bat view plaincopy to clipboardprint?
Runtime.exec(“C:/path/para/o/bat”);[/quote]

Legal :D, só que eu não consegui :frowning: Vocês poderiam fazer um exemplo?

Muito obrigado

Pelo que entendi o problema é executar um programa qualquer, certo?

Dê uma olhada na classe Desktop. Aqui tem alguns exemplos (para abrir programas ou arquivos, dê atenção ao método “open”): http://java.sun.com/developer/technicalArticles/J2SE/Desktop/javase6/desktop_api/

Muito obrigado a todos :smiley:

Foi difícil (devido o nome do tópico: Chamar .exe de um .bat criado em Java continuando execução. [RESOLVIDO] http://www.guj.com.br/java/142544-chamar-exe-de-um-bat-criado-em-java-continuando-execucao-resolvido), mas achei a resposta:

[quote]
Autor: pisicotico (HelloWorld)

Bom vlw pelas respostas.

Achei a solução fazendo o seguinte:

comando | cmd /c exit 

Ah! e vai mais uma dica, para quem quiser abrir a janela do CMD para exibir a execução do bat, basta fazer:

Runtime.getRuntime().exec("cmd /c start ARQUIVO.bat");

Muito obrigado[/quote]