Chamado arquivo .chm

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!