Runtime e exec()

4 respostas
magician

Boas tenho usado o exec do runtime para abrir novas aplicações em linux funciona lindamente mas em win tenho de dar todo o caminho da aplicação, por exemplo:

Runtime.getRuntime().exec(“C:\Programas\Firefox\firefox.exe”);

Não existe uma forma de saber se o programa esta instalado e de saber o path se ter de o estar a escrever ?

4 Respostas

T

Para saber onde o programa está instalado, deves examinar o Registo (Registry) do Windows para localizar onde o programa está instalado.

(A propósito, se estivesses a utilizar o Windows em português brasileiro, o nome é mais comprido - “C:\Arquivos de Programas\Firefox\firefox.exe” - Altamente incômodo, por um lado, e iria provocar problemas com exec() com um único parâmetro, já que existem espaços no nome do diretório.).

magician

Pois eu por acaso é PT PT mas mesmo assim é muito xato.
Já agora sabes dizer como vou procurar os caminhos no registry é ke nunca mexio com o registry :S

T

Já vi muitos softwares em Java que simplesmente “desistem” de fazer isso por conta e deixam isso por conta da configuração.
Ler o registo é meio complexo porque exige usar APIs do Windows, ou em poucas palavras, código nativo ©.
Alguns programas de instalação já podem fazer isso por você (descobrir os programas de que você irá precisar). Então deixe isso para o programa de instalação, e não tente fazer isso em Java puro.

magician

:smiley: LOL pois C# tem essa vantegem mexe melhor com win, mas tambem é mais fraco para linux. Nem tudo é perfeito :smiley:
Já agora sabe de algum instaler bom ? Já vi varios mas nada que me agrade.

Criado 22 de agosto de 2006
Ultima resposta 22 de ago. de 2006
Respostas 4
Participantes 2