HTMLHelp Befehlszeile
HH.EXE wird mit Windows HTMLHelp verteilt, so dass Sie sich darauf verlassen können, dass es vorhanden ist. Die Datei hh.exe steht im Windows Ordner und hat eine limitierte Anzahl von command-line Optionen. HH.EXE ist mit den CHM Dateien verknüpft. So können Sie eine CHM Datei doppelklicken und Windows öffnet diese Datei über HH.EXE. Es ist eine sehr kleine Datei und übergibt in den meisten Fällen den Hilfedateinamen an die HH API Library. HH.EXE ist keine Einzelinstanz, wenn Sie eine CHM Datei dreimal mit Hilfe von HH.EXE aufrufen, dann werden drei Hilfefenster erscheinen.
Für eigene Versuche mit der HTMLHelp Befehlszeile können Sie hier eine einzelne CHM Beispieldatei (CHM in ZIP) herunterladen. Entpacken Sie die Datei anschließend in ein lokales Laufwerk z.B. D:/_temp
.
Eine kompilierte Hilfedatei behält die Ordnerstruktur bei, in der sie vor der Kompilierung organisiert war.
Wenn ein Projekt zum Beispiel in drei Ordnern organisiert ist (einer für HTML-Dateien, einer für Bilder und einer für Stylesheets), enthält die Hilfedatei intern dieselben Ordner. Der Ordner, in dem sich die Projektdatei befindet, wird als Stammordner betrachtet. Um einen korrekten Link zu einer Themendatei zu erstellen, müssen Sie den vollständigen Pfad angeben.
Befehlszeile oder Batch-Script
Aufruf über die Befehlszeile oder eine Batch-Datei:
hh.exe mk:@MSITStore:D:\_temp\CHM-example.chm::/Garden/flowers.htm
Um die DOS-Fenster bei Verwendung des Befehls in einem Batch-Skript zu unterdrücken, kann der Aufruf mit dem Parameter /B
durchgeführt werden.
start /B hh.exe mk:@MSITStore:D:\_temp\CHM-example.chm::/Garden/flowers.htm
Weitere Informationen zu diesem Parameter findest du unter Simon Sheppard's website.
Hilfethema mit der Hilfe-ID öffnen
Die Hilfe ID ist eine Nummer z.B. 20010, die Sie im [MAP] Abschnitt Ihrer Projektdatei (.hhp) definieren müssen und auf das erforderliche Thema im [ALIAS] Abschnitt abgebildet haben. Die Funktionalität -map ID chm in der Befehlszeile wurde ab HTMLHelp 1.1b verfügbar.
hh.exe -mapid 20010 ms-its:D:\_temp\CHM-example.chm
Hilfethema mit der Pfadangabe öffnen
Das Protokoll mk:@MSITStore ist eine frühere Version und funktioniert mit IE3 und höher, während ms-its mit IE4 und höher funktioniert. Als eine kürzere Version von "ms-its" kann auch einfach "its" verwendet werden.
hh.exe mk:@MSITStore:D:\_temp\CHM-example.chm::/Garden/tree.htm
hh.exe ms-its:D:\_temp\CHM-example.chm::/Garden/tree.htm
hh.exe its:D:\_temp\CHM-example.chm::/Garden/tree.htm
In den neueren Versionen von HH ist das Protokoll-Präfix nicht einmal mehr erforderlich.
hh.exe D:\_temp\CHM-example.chm::/Garden/tree.htm
Sie können den Pfad zur CHM Datei weglassen, wenn diese Datei im %SystemRoot%\Help
Verzeichnis gespeichert ist oder unter dem folgenden Schlüssel in der Windows Registry angemeldet ist: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\HTML Help
hh.exe CHM-example.chm
Es ist möglich, zu Lesezeichen z.B. AnchorSample zu springen, die in Ihrem HTML-Thema kodiert sind:
hh.exe D:\_temp\CHM-example.chm::/HTMLHelp_Examples/Jump_to_anchor.htm#AnchorSample
Für besondere Fälle z.B. um ein eigenständiges HTML-Hilfefenster zu erstellen, können Sie KeyHH (EXE in ZIP) installieren, ein kostenloses Programm von KeyWorks Software, geschrieben von Ralph Walden. KeyHH.exe ist ein Programm, das die HTML-Hilfe erweitert. Es kann zusätzlich zu oder als vollständiger Ersatz für HH.EXE verwendet werden. KeyHH bietet die gesamte Funktionalität von HH.EXE, bietet Lösungen für einige bekannte Fehler in der HTML-Hilfe und bietet zusätzliche Funktionalität.
- KeyHH.zip herunterladen
- Die darin enthaltene KeyHH.exe in einen temporären Ordner entpacken, z.B. D:/_temp
- KeyHH.exe ausschneiden und in C:/Windows einfügen, wo sich auch hh.exe befindet (mit Administratorrechten)
Als früherer Microsoft Help MVP habe ich den Inhalt vor einigen Jahren nach http://keyworks.help-info.de kopiert. Hier findest du weitere Informationen. Die alte Website keyworks.net ist nicht mehr verfügbar.
Anwendungsbeispiele zu Hilfethema öffnen
Run command
Erinnern Sie sich an das alte MS-DOS und die heutigen Windows 10 Tastaturkürzel und Ausführungsbefehle. Versuchen Sie Windows
+ R
Eingabeaufforderung
PowerShell
Internet Explorer
Die Möglichkeit, in eine ITS (CHM) Datei zu schauen, gibt es nur im Microsoft Internet Explorer. Nur der Internet Explorer (NICHT der Microsoft Edge-Browser) kann einen lokalen Pfad wie den folgenden laden:
ms-its:D:\_temp\CHM-example.chm::/Garden/tree.htm
Das Präfix ms-its:
ist ein anfügbares Protokoll aus früheren Zeiten, das sich an alte, vom World Wide Web Consortium (W3C) aufgestellte Standards hält. Das ms-its-Protokoll funktioniert mit Microsoft Internet Explorer 4.0 oder höher, wird aber nicht von allen Browsern unterstützt.
Warnung
Verwenden Sie den folgenden Trick nur für einen Testfall. Der Internet Explorer hat ausgedient, und Sie werden mit mehreren ungepatchten Sicherheitslücken surfen müssen.
Erstellen Sie einfach eine VBScript-Datei, z. B. Internet-Explorer.vbs mit dem folgenden Code:
CreateObject("InternetExplorer.Application").Visible=true
Dadurch wird der in Windows 10/11 vorinstallierte IE gestartet. In diesem Stadium ist er mit Windows gebündelt, kann aber nicht direkt durch Anklicken seiner ausführbaren Datei gestartet werden.
Wer PowerShell nutzen möchte, kann folgenden Code in eine Datei speichern und ausführen:
Dekompilieren einer CHM-Hilfedatei mit HH.EXE
Wie bereits erwähnt, ist %SystemRoot%\hh.exe der Viewer für CHM-Dateien in Windows und kann CHM-Dateien nicht nur anzeigen, sondern auch extrahieren. Keine Schnittstelle - geben Sie einfach "hh.exe -decompile
hh.exe -decompile D:/_temp/decompile-folder D:/_temp/CHM-example.chm
Bitte beachten Sie, dass Sie -decompile
nur verwenden können, wenn der Ordnerpfad und der Name der Hilfedatei kein Leerzeichen enthalten. hh.exe ist schlecht kodiert, was das Parsen von Kommandozeilenargumenten angeht. Es unterstützt hh.exe "D:\gxml\test\a b\1.chm"
, um eine kompilierte Hilfedatei mit einem Leerzeichen im vollqualifizierten Hilfedateinamen zu öffnen. Aber bei der Verwendung von -decompile
interpretiert es die erste Reihe von Leerzeichen nach -decompile
immer als Beginn des Ordnerpfades und die zweite Reihe von Leerzeichen nach -decompile als Beginn des Hilfedateinamens, auch wenn Anführungszeichen um die beiden Argumente herum verwendet werden.
Das Dekompilieren der Datei erzeugt eine Reihe von HTML- und Bilddateien, zusammen mit der Inhaltsverzeichnisdatei (.hhc), der Indexdatei (.hhk) und einigen anderen unterstützenden Dateien.
Zu beachten ist, dass der Dekompilierungs-/Rekompilierungsprozess kein "round-trip" Prozess ist. Bestimmte Funktionen, die der Hilfeautor der ursprünglichen Hilfedatei hinzugefügt hat, können beim Dekompilieren nicht wiederhergestellt werden, so dass sie nach dem Neukompilieren möglicherweise nicht mehr richtig funktionieren. Dies gilt insbesondere für die kontextabhängige Hilfe, die in der neuen Version der Datei möglicherweise nicht mehr funktioniert.
Hinweis
Als besonderer Trick unter Hilfe-Autoren gilt es, die Projektdatei .hhp in die CHM Datei zu kompilieren. Dies kann das Dekompileren wesentlich erleichtern. Leider ist das nur in sehr wenigen Ausnahmefällen gegeben.
Wie man mit KeyTools dekompiliert
Der einzige Decompiler mit zusätzlichen Funktionen ist KeyTools, da dieser versuchen kann, die Projektdatei (.hhp) neu zu erstellen. Sie benötigen diese Datei, wenn Sie das Hilfsprojekt erneut kompilieren wollen.
Bei Bedarf finden Sie hier eine ausführliche Installationsanleitung.
HTMLHelp von der Kommandozeile kompilieren
Für eigene Versuche mit dem HTMLHelp Workshop Kompiler sollten Sie ein CHM Beispielprojekt (ZIP) herunterladen. Entpacken Sie die Dateien anschließend in ein lokales Laufwerk z.B. D:/_temp
.
In einem Ordner, der die HTMLHelp Workshop Projektdatei (.hhp) enthält, lautet der erforderliche Kompiler-Befehl:
hhc CHM-example.hhp
Sie müssen den relativen oder absoluten Pfad zur Datei .hhp angeben, wenn Sie von einem anderen Verzeichnis kompilieren der diese Datei enthält. Und Sie müssen sicherstellen, dass das HTML Help Workshop Programmverzeichnis in dem Pfad ist, wo sich die hhc.exe befindet.
- Schließen Sie den HTMLHelp Workshop
- Klicken Sie auf das Start menu,wählen Sie Run and geben Sie
cmd
ein. -
Tippen Sie bei Windows 10 z.B.:
"%ProgramFiles(x86)%\HTML Help Workshop\hhc" d:/_temp/CHM-example.hhp
oder um eine Log-Datei im aktuellen Verzeichnis zu erhalten (falls nicht schon unter [Options]
in der .hhp deklariert wie z.B. Error log file=_errorlog.txt
)
"%ProgramFiles(x86)%\HTML Help Workshop\hhc" d:/_temp/CHM-example.hhp > log.txt
Dieses Kommando setzt voraus, dass Sie den HTMLHelp Workshop im Standardverzeichnis installiert haben Sie müssen die Kommandozeile ändern, wenn sie eine Installation in einem anderen Verzeichnis vorgenommen haben.
Beim alten 32bit Windows ist %ProgramFiles% zu verwenden.
Bei 64bit Windows haben sich die Dinge geändert, weil Anwendungen in %ProgramFiles% oder %ProgramFiles(x86)% installiert sein können.
VBA Beispiel (Excel)
Sub HTMLHelp_Compilieren()
'// Aufruf des HTMLHelp Datei (CHM) Compilers aus Excel (VBA)
Shell """C:\Program Files\HTML Help Workshop\hhc.exe""" & _
"d:\_temp\CHM-example.hhp", vbNormalFocus
End Sub