Runtime, externe .chm öffnen

nero110

Mitglied
Hi zusammen:

Ich würde gerne aus meiner aktuellen Java App. eine externe .chm Hilfe Datei öffnen.

Code:
 String path = ClientMain.class.getResource("help/nerosignVocabularyManagerClientHelp.chm").getPath();
 
 Runtime.getRuntime().exec(path);

Die Exception sieht folgendermaßen aus:

CreateProcess: /C:/Dokumente%20und%20Einstellungen/Administrator/Eigene%20Dateien/__Projekte/_nerosign%20VocabularyManager/nerosign_VocabularyManager/classes/nerosign_vocabularymanager/help/nerosignVocabularyManagerClientHelp.chm error=123

Was heißt denn error=123? Der Pfad und der Dateiname sind korrekt...

Chris
 
Hallo!

Wenn du mit Java eine CHM Hilfedatei anzeigen möchtest, musst du das hh-Tool verwenden:
Code:
  /**
   * 
   */
  package de.tutorials;
  
  /**
   * @author Tom
   * 
   */
  public class ProcessExecutionExample {
  	/**
  	 * @param args
  	 */
  	public static void main(String[] args) throws Exception {
  		ProcessBuilder processBuilder = new ProcessBuilder(new String[] {
 				"hh", "C:/WINDOWS/Help/audit.chm" });
  		Process process = processBuilder.start();
  		process.getInputStream().close();
  		process.getErrorStream().close();
  		process.getOutputStream().close();
  	}
  }

Gruß Tom
 
Hallo!

Code:
 /**
  * 
  */
 package de.tutorials;
 
 /**
  * @author Tom
  * 
  */
 public class ProcessExecutionExample {
 	/**
 	 * @param args
 	 */
 	public static void main(String[] args) throws Exception {
 		Runtime.getRuntime().exec(
 				new String[] { "hh", "C:/WINDOWS/Help/audit.chm" });
 	}
 }
...war das denn so schwer umzubauen? ;-)

gruß Tom
 
Thomas:

Ich bekomme nur Meldungen, dass die Datei nicht geöffnet werden kann. Ein Grund wird nicht angegeben, an einem falschen Pfad kann es nicht liege, es geht auch nicht, wenn die .chm auf C:\ liegt.

Meldung ist: "Datei konnte nicht geöffnet werden: C:\nerosignVocabularyManagerClientHelp.chm"

Eine Idee?

Gruss,

Chris
 
Thomas:

Ich habe die Lösung. Die absolute Pfadangabe bei mir enthielt Pseudo-Leerzeichen, die ich jetzt durch richtige ersetzt habe. Anscheinend kommt hh damit nicht klar.

Danke für die Unterstützung.

Chris
 
Zurück