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!
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.
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!