Como eu faço para chamar um programa externo por código java?

[color=violet][/color][b]Olá pessoal!! :slight_smile:
Preciso de uma ajudinha… Gostaria de saber como eu faço para chamar (abrir) programas externos (no caso a cálculadora) por código java…
Se alguem puder me ajudar, valeu desde já…[color=violet][/color][b]

  Runtime.getRuntime().exec("start calc");

Corrigindo o código acima:

Runtime.getRuntime().exec("calc");

:slight_smile:

1 curtida

Olá

Dê uma olhada na classe java.lang.Runtime

[code]
try {
String comando = “%SystemRoot%\system32\calc.exe”;
Process processo = Runtime.getRuntime().exec(comando);

} catch (IOException e) {
}[/code]

[]s
Luca

E como é que eu faço pra abrir um programa externo e já carregar um arquivo nele? no caso o IE.

[code] import java.io.IOException;

public class Teste
{
public static void main(String[] args)
{
try
{
Runtime.getRuntime().exec(“cmd.exe /c start iexplore.exe C:\index.html”);
}
catch(IOException iOException)
{
iOException.printStackTrace();
}
}
}[/code]
Neste caso, terá que existir uma página HTML chamada index.html no caminho informado.

Olha eu fiz como ta ai. Abriu o IE, mas deu o seguinte erro:

Não é possível localizar ‘file:///C:index.html’. Certifique-se de que o caminho ou endereço Internet é correto.

eu coloquei o arquivo direto no diretório C:

o que fiz errado?

[quote=Jorgev]Olha eu fiz como ta ai. Abriu o IE, mas deu o seguinte erro:

Não é possível localizar ‘file:///C:index.html’. Certifique-se de que o caminho ou endereço Internet é correto.

eu coloquei o arquivo direto no diretório C:

o que fiz errado?[/quote]
Acho que você se esqueceu da sequência de escape \ após o C: na instrução abaixo:

Runtime.getRuntime().exec("cmd.exe /c start iexplore.exe C:\index.html");

[quote]
Acho que você se esqueceu da sequência de escape \ após o C: na instrução abaixo:

Runtime.getRuntime().exec("cmd.exe /c start iexplore.exe C:\index.html");

Eu fiz um Ctrl+c, Ctrl+v do que vc mandou. será que o pro é com o arquivo. onde eu coloquei ou o nome dele. mas eu coloquei o mesmo nome.

[quote=Jorgev][quote]
Acho que você se esqueceu da sequência de escape \ após o C: na instrução abaixo:

Runtime.getRuntime().exec("cmd.exe /c start iexplore.exe C:\index.html");

Eu fiz um Ctrl+c, Ctrl+v do que vc mandou. será que o pro é com o arquivo. onde eu coloquei ou o nome dele. mas eu coloquei o mesmo nome.[/quote]
Se você copiou e colou o código que eu postei, eu não sei o que pode estar dando errado, já que eu testei aqui e funcionou sem problemas, e supondo que haja um arquivo chamado index.html no diretório C do seu computador, deveria funcionar aí também.

Descobri o erro. O meu arquivo index ta com a extensao .htm.

index.htm

agora funcionou.

só mais uma coisa pra qualquer programa que eu queira abrir e carregar um arquivo nele eu posso usar essa sintaxe?
e se eu quiser abrir só o programa eu tiro só o caminho?

"cmd.exe /c start NomeDoExecutavelDoPrograma.exe NomeDoCaminho\NomeDoArquivo.extensao"

valeu amigo.

[quote=Jorgev]Descobri o erro. O meu arquivo index ta com a extensao .htm.

index.htm

agora funcionou.

só mais uma coisa pra qualquer programa que eu queira abrir e carregar um arquivo nele eu posso usar essa sintaxe?
e se eu quiser abrir só o programa eu tiro só o caminho?

"cmd.exe /c start NomeDoExecutavelDoPrograma.exe NomeDoCaminho\NomeDoArquivo.extensao"

valeu amigo.[/quote]
Sim, você pode repetir esta sintaxe com outros programas. Abaixo, por exemplo, eu estou abrindo o Word com o arquivo teste.doc.

[code] import java.io.IOException;

public class Teste
{
public static void main(String[] args)
{
try
{
Runtime.getRuntime().exec(“cmd.exe /c start winword.exe teste.doc”);
}
catch(IOException iOException)
{
iOException.printStackTrace();
}
}
}[/code]
E caso você queira abrir só o programa, sem nenhum arquivo, basta não informar nada após o nome do programa. Exemplo:

[code] import java.io.IOException;

public class Teste
{
public static void main(String[] args)
{
try
{
Runtime.getRuntime().exec(“cmd.exe /c start winword.exe”);
}
catch(IOException iOException)
{
iOException.printStackTrace();
}
}
}[/code]
Vale lembrar nestes casos, que não é necessário informar o caminho nem do Internet Explorer nem do Word, mas caso seja, por exemplo, um programa que você desenvolveu em C++, seria necessário informar o caminho completo do programa, a menos que você inclua o diretório do programa no PATH.

Valeu mesmo cara só tava faltando isso pra completar o meu projeto da faculdade. eu ja tava com o programinha no esquema, o menu e as paginas htm. so tava faltando ligá-los.

abraço.

Opa, estamos aqui pra isso. Boa sorte no seu projeto.

Abraços.

Galera, vou aproveitar o tópico pra fazer uma pergunta tb.

Estou tendo o mesmo problema que o Jorgev, só que no meu caso eu estou no Linux e não no Windows. Alguém sabe como que eu faço isso no Linux?

Eu quero abrir um konsole e mandar um comando pra ele. Tipo, mais especificamente, queria mandar abrir um executável em C.

Se alguém tiver uma idéia tow esperando…

flw!

Olá

Arthur, já experimentou as dicas deste tópico? Qual erro apareceu?

[]s
Luca

Pessoal alguém sabe se tem como abrir o IE e já carregar uma pagina específica?

exemplo: abrir o IE no endereço http://www.guj.com.br

abraço.

iexplore http://www.guj.com.br?

Até!

Aproveitando o topico…

Eu preciso chamar um exe pelo java, ate ai td bem…

mas preciso que o programa em java só continue a rodar depois que o exe terminar…

como faço isso!?

[b]gostaria de saber como faço pra chamar Conexão Remota apartir de um codigo java;

e tambem se teria como eu ja configurar a conexao tambem via codigo ou nao !?!

abradeço ![/b]