Abrir outro ptrograma

17 respostas
S

Como faço pra abrir um outro programa?

Exemplo: estou fazendo um chat e quero que, quando o usuário clique num link, abra o browser naquela URL.

17 Respostas

S

Pro primeiro exemplo funcionou, pro segundo:

java.io.IOException: CreateProcess: http://www.portaljava.com error=0 at java.lang.Win32Process.create(Native Method) at java.lang.Win32Process.<init>(Win32Process.java:66) at java.lang.Runtime.execInternal(Native Method) at java.lang.Runtime.exec(Runtime.java:566) at java.lang.Runtime.exec(Runtime.java:428) at java.lang.Runtime.exec(Runtime.java:364) at java.lang.Runtime.exec(Runtime.java:326) at teste.main(teste.java:22)

Nesse caso não preciso usar o exec() com mais de um parâmetro?

R

Beleza cara ... bom vi os posts ai e tb tava com essa dúvida ... max acabei de resolver o problema! tenta issu!

String s = "www.portaljava.com.br";

Runtime.getRuntime()	.exec("C:\\Arquivos de programas\\Internet Explorer\\iexplore.exe " + s);

vai ki eh uma beleza!

vlw! ai! t+ :)

L

“New__Radical”:
Para executar outro programa, vc usa

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

Para abrir o browser, tente usar assim:

Runtime.getRuntime().exec("http://www.portaljava.com");

Vai abrir o Browser padrão usado pelo SO.

T+

So segundo faltou um start tipo start http://www.portaljava.com

R

Ae brow … vc poderia passar um exemplo mais preciso … pq tipow jah vi um monte de gente falar deste start … max nao esta funcionando …

qual eh a sintaxe … ou um exemplozin jah fexava! vlw

obrigado!

S
Runtime.getRuntime().exec("start http://www.portaljava.com");

Funciona perfeitamente, era exatamente isso que eu estava procurando.

Muito obrigado a todos.

R

Cara ..... não sei oque estou fazendo de errado mas nao acredito ki uma coisa tão simples possa estar dando erro ... vo postar o codigo da classe exemplo ki estou usando pra testar issu!

public class Roda {

	public Roda(){
		try {
		      Runtime.getRuntime().exec("start http://www.portaljava.com");
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	public static void main(String[] args) {
		Roda r = new Roda();
	}
}

tipo estou rodando issu no eclipse e usando XP nao sei oque pode estar dando errado. =//// o erro q da eh este!

[color="red"]java.io.IOException: CreateProcess: start http://www.portaljava.com error=2
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at Roda.<init>(Roda.java:21)
at Roda.main(Roda.java:29)[/color]

obrigado!!! flw galera!

F

tipo… desse jeito vcs tao acabando com a portabilidade…

o start eu nem tenho como testar pq aki eu uso Linux, e o start eh comando do ruwindows… mas pra deixar portavel faz assim e soh arruma caso n funcione no ruwindows…

public class Roda &#123;

   public Roda&#40;&#41;&#123;
      String exec = null;
      if &#40;System.getProperty&#40;"os.name"&#41;.equals&#40;"Linux"&#41;&#41;&#123;
             exec = "kfmclient openURL http&#58;//www.portaljava.com";
      &#125;
      else "start http&#58;//www.portaljava.com";
      try &#123;
            Runtime.getRuntime&#40;&#41;.exec&#40;exec&#41;;
      &#125; catch &#40;IOException e&#41; &#123;
         // TODO Auto-generated catch block
         e.printStackTrace&#40;&#41;;
      &#125;
   &#125;
   
   public static void main&#40;String&#91;&#93; args&#41; &#123;
      Roda r = new Roda&#40;&#41;;
   &#125;
&#125;
R

cara o codigo ai ta com um errinho max mesmo corrigido continua dando pau !!! tem certeza que vc testou e rodou???

la no else falta a atribuição … max eh detalhe … mesmo concertado da pau! vlw!!!

R

Beleza galera!?!?

tipow consegui solucionar o problema! o comando
exec ta pegando o executar do win XP onde q ao digitar
start http://www.portaljava.com retorna erro
jah no DOSAO o comando start funciona tranquilo entao a solução eh

String s = &quot;cmd /c start http&#58;//www.portaljava.com&quot; Runtime.getRuntime&#40;&#41;.exec&#40;s&#41;;

obrigado! espero ter ajudado!

Obs: nao consegui fazer funcionar com o command! c alguem souber coloca ai! flw!

T
String s = "cmd /c start http&#58;//www.portaljava.com";
Runtime.getRuntime&#40;&#41;.exec&#40;s&#41;;*//*String s = "cmd /c start http&#58;//www.portaljava.com";
Runtime.getRuntime&#40;&#41;.exec&#40;s&#41;;

esse funciona!

mas esse nao…

try &#123;
Runtime.getRuntime&#40;&#41;.exec&#40;"cmd /c start KillBillvol1.avi"&#41;;
&#125; catch &#40;IOException e1&#41; &#123;
// TODO Auto-generated catch block
e1.printStackTrace&#40;&#41;;
&#125;

diz que nao foi encontrado o arquivo e que eh pra procurar em pesquisa…

haha

tentei isso porque tbm nao consigo “pegar” o arquivo de outra pasta…
nao tenho ideia do que esteja errado…

soluçoes???

M

fala link…

cara, tenta algo como “c:\pasta\arquivo.avi” ou " //localhost/c/pasta/arquivo.avi" , “localhost/c/pasta/arquivo.avi”

L

Da uma lida nesse topico
http://forum.java.sun.com/thread.jspa?forumID=31&threadID=666007

Os jars:
https://jdic.dev.java.net/servlets/ProjectDocumentList?folderID=3606&expandFolder=3606&folderID=0

Se naum quizer incluir jar’s, baixa o src e da uma olhada como eles fazem… testei aqui e funcionou:

package teste;

import java.net.MalformedURLException;
import java.net.URL;

import org.jdesktop.jdic.desktop.Desktop;
import org.jdesktop.jdic.desktop.DesktopException;

public class Teste &#123;

	public static void main&#40;String&#91;&#93; args&#41; &#123;
		try &#123;
			Desktop.browse&#40;new URL&#40;"http&#58;//www.google.com"&#41;&#41;;
		&#125; catch &#40;MalformedURLException e&#41; &#123;
			e.printStackTrace&#40;&#41;;
		&#125; catch &#40;DesktopException e&#41; &#123;
			e.printStackTrace&#40;&#41;;
		&#125;
	&#125;

&#125;
T

valeu pessoal…
eu fiz assim:

try &#123;
	Runtime.getRuntime&#40;&#41;.exec&#40;"cmd /c start C&#58;\\filme\\KillBillvol1.avi"&#41;;
&#125; catch &#40;IOException e1&#41; &#123;
// TODO Auto-generated catch block
e1.printStackTrace&#40;&#41;;
&#125;

funcionou sem problemas

L

ah, mas ai portabilidade 0 tb neh?! :razz:

S

eu fiz assim pra abrir o IE da maquina:

Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler http://www.google.com.br");

eu queria saber como faz pra abrir o browser padrão só q ta difícil

L

Java 5

Desktop.getDesktop().browse(new URI("http://www.portaljava.com.br"));
N

Para executar outro programa, vc usa

Para abrir o browser, tente usar assim:

Vai abrir o Browser padrão usado pelo SO.

T+

Criado 5 de novembro de 2004
Ultima resposta 6 de nov. de 2004
Respostas 17
Participantes 9