Schlagwort-Archive: chm

Öffnen von CHM – Hilfedateien unter Windows 7 zulassen

Wenn man Software aus dem Internet herunterlädt, die eine Hilfedatei im .chm-Format mitbringt, oder eine .chm Datei direkt von einem Server öffnen möchte, dann führt das Drücken der F1-Taste in der Regel zu einer Fehlermeldung.

Der für das Rendering der .CHM-Dateien zuständige Internet Explorer meldet in diesem Fall „Die Navigation zu der Webseite wurde abgebrochen“.

Der Internet Explorer verweigert ohne weitere Erklärung die Darstellung von .chm-Dateien. Der Hintergrund für dieses Problem ist, dass Microsoft das Hilfeformat für Windows mehrfach geändert hat und die alten Versionen (.HLP) in Windows 7 entweder gar nicht mehr unterstützt oder ihre Nutzung (.CHM) aus Sicherheitsgründen eingeschränkt hat.
Während man das alte .HLP – Dateiformat durch den Download der Datei WinHelp.exe von Microsoft nachrüsten kann, muss man bei .CHM-Hilfedateien sehen, wie man die Sperre aufhebt. Registry-Einträge nur für das Öffnen von Netzlaufwerken nötig.

Die meisten Tipps im Web empfehlen als Maßnahme gegen die Blockierung von .CHM-Dateien, die dafür verantwortliche Beschränkung durch das Hinzufügen von 2 Registry-Schlüsseln aufzuheben. Dieses von Microsoft beschriebene Vorgehen bezieht sich bereits auf den für XP eingeführten Hotfix KB896358.

Grundsätzlich funktioniert diese selektive Freigabe von einzelnen .CHM-Dateien mit dem Schlüssel UrlAllowList immer noch. Um sich die Fummelei in der Registierdatenbank zu ersparen, kann man das kostenlose HHReg einsetzen, mit dem man ausgesuchte Hilfedateien oder Verzeichnisse in die Liste der Ausnahmen hinzufügen kann. Der Einsatz des Tools kann nötig werden, wenn man eine Hilfedatei von einem Netzlaufwerk öffnen möchte und die Sicherheitsvorgaben in Windows dies verhindern.

Unter Windows 7 muss man aber kein Tool einsetzen, wenn man .chm-Dateien freischalten möchte, die man zuvor vom Internet heruntergeladen hat.

In diesem Fall reicht es, wenn man im Explorer die Eigenschaften der .CHM-Datei öffnet und im folgenden Dialog unter Sicherheit den Button Zulassen betätigt.

Diese Aktion ist übrigens kein alternativer Weg, um den Schlüssel UrlAllowList einzufügen, die Registry wird dabei nicht verändert.

HTML (.CHM) Hilfen mit Delphi und Lazarus

Mit Windos 98 hat Mocrosoft die Unterstützung einer HTML basierende Hilfe eingeführt, ab Windows 7 wird das alte .hlp Format standard mäßig nicht mehr unterstützt. Auf der Microsoft Webseite ist ein Zusatzprogramm erhältlich, das nach der Installation die alten .hlp Dateien wieder zugänglich macht.

Wichtige Informationen über die nötige Windows Einstellungen zum Anzeige einer .chm bassierenden Hilfe finden sie hier.

Download von WinHelp32.exe

Kompatibilitätsprobleme bereiten beim Umstieg auf Windows 7 daher vor allem .hlp-Dateien. Immerhin bietet Microsoft seit 2009 den benötigten Viewer für Vista und für Windows 7 zum Download an. Es handelt sich dabei um die nicht mehr mitgelieferte WinHlp32.exe, die zur Anzeige von 32-Bit-Winhelp-Dateien erforderlich ist. Merkwürdigerweise enthalten sowohl Vista als auch Windows 7 weiterhin einen integrierten Viewer für die noch älteren 16-Bit-HLP-Dateien.

Funktionelle Einschränkungen

Der Download von WinHlp32.exe alleine löst noch nicht alle Probleme. Der unter Windows 7 installierte Viewer blockiert per Voreinstellung alle Makros, was die Hilfefunktionen beeinträchtigen kann. Außerdem blockiert der Viewer .chm-Dateien, wenn sie vom Netzwerk geöffnet werden sollen. Beide Einstellungen lassen sich durch Einträge in die Registierdatenbank ändern.

CHM (Compiled HTML Help, auch Compressed HTML Help oder Compiled Help Module(s)) ist ein Dateiformat der Firma Microsoft, das für Hilfedateien unter dem Betriebssystem Windows verwendet wird. Das zugehörige System zur Erstellung und Anzeige der Dateien wird HTML Help genannt.

CHM-Dateien sind komprimierte Archive, die wiederum verschiedene Dateien wie Hilfetexte im HTML-Format, Bilder oder auch Java Script in kompilierter Form enthalten.

Da es die CHM basierenden Hilfedateien zum Erscheinungszeitpunkt von Delphi 5 noch nicht gab, fehlt hierfür auch jegliche Unterstützung.

In diesem Download ist ein kleines Beispielprogramm, das die prinzipielle Funktionsweise und das Einbinden in Delphi 5 Applikationen erklärt.

Delphi .CHM Sample
Delphi .CHM Sample
Delphi CHM Sample.zip
Version: V1.0
1.2 MiB
533 Downloads
Details