Chamado arquivo .chm

2 respostas
C

Olá galera

Como faço para chamar arquivos .chm do java

Estou fazendo o seguinte:

String dir = System.getProperty(“user.dir”);

String cam = dir+"\Help\help\";
Runtime.getRuntime().exec("cmd /c start " +cam+ “Projeto.chm” );

Dessa forma não dá certo!

2 Respostas

E

Provavelmente o diretório contém espaços (no Windows XP, por exemplo, user.dir costuma ser algo como “C:\Documents and Settings\usuario”).
Você vai ter de adicionar algumas aspas para que o comando seja executado corretamente. Mas o que funciona melhor, nesse caso, é usar Desktop.open. Veja a documentação.

String dir = System.getProperty("user.dir");

String cam = dir+"\\Help\\help\\";
Runtime.getRuntime().exec("cmd /c start \"\"  \"" +cam+ "Projeto.chm\"" );

EDIT - esqueci que se o comando start enxerga um parâmetro com “”, ele acha que é o título do “Prompt de Comando” que ele vai usar para iniciar a aplicação. Portanto, é necessário para o start usar um “” conforme eu estou mostrando acima.

C

Pois é, tentei colocar as aspas também mas não deu certo, entretanto resolvi o problema depois de muitas pesquisas.
Adicionei algumas DLL do Windows dessa forma não preciso me preocupar com os espaços

try{

String dir = System.getProperty(user.dir);

String cam = dir+"\Help\help\Projeto.chm";

Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL " +cam);
}catch (Exception erro){

JOptionPane.showMessageDialog(null, erro);

}

Valeu pela ajuda!

Criado 30 de novembro de 2009
Ultima resposta 30 de nov. de 2009
Respostas 2
Participantes 2