WinHelp
WinHelp war ein Hilfeformat, das erstmals im Jahr 1990 mit Windows 3.0 eingeführt wurde und noch bis Windows XP unterstützt wurde. Das Format ist nicht öffentlich dokumentiert, konnte aber inzwischen erfolgreich mittels Reverse Engineering entschlüsselt werden.
Microsoft WinHelp | |
---|---|
Dateiendung: | .hlp |
Magische Zahl: | 3F 5F 03 00 hex ?_␃␀ |
Entwickelt von: | Microsoft |
Erstveröffentlichung: | 1990 |
Container für: | RTF |
Standard(s): | Nein |
Versionen
Es gab vier Versionen von WinHelp:
- Version 3.0: Dies war die erste Version, die zusammen mit Windows 3.0 erschien. Als Compiler diente
HC.EXE
bzw. späterHC30.EXE
. - Version 3.1: Diese Version erschien zusammen mit Windows 3.1 und unterstützte Makros, Tabellen sowie zahlreiche neue Bildformate. Als Compiler diente
HC31.EXE
.[1] - Version 4.0: Diese Version war Bestandteil von Windows 95 und fügte erstmals ein Inhaltsverzeichnis sowie eine Volltextsuche hinzu. Außerdem wurden zahlreiche Beschränkungen früherer Formate (z. B. Beschränkung eingebetteter Bilder auf 16 Farben) aufgehoben.
- Multimedia Viewer: Ein mit WinHelp eng verwandtes Format, das beliebige Dateien (z. B. auch Sounds, Videos oder ausführbare Dateien) enthalten konnte. Zum Erstellen von Hilfedateien in diesem Format gab es das kostenpflichtige Multimedia Publishing Toolkit. Die Dateien hatten die Dateiendung
.MVB
und benötigten einen speziellen Betrachter. Dieses Format wurde u. a. von frühen Version von Microsoft Encarta, aber auch von der MSDN Library verwendet.[2]
Beschreibung
WinHelp basierte auf dem Dateiformat RTF. Hilfedateien konnten somit mit einem beliebigen Textverarbeitungsprogramm (z. B. Microsoft Word) erstellt werden. Spezielle Anweisungen für den Compiler wurden in geschweiften Klammern festgehalten, zur abschnittsweisen Unterteilung der Hilfedatei dienten Fußnoten. Hinzu kam noch eine Datei mit der Dateiendung .HPJ
. Diese entsprach von der Funktion her den Makefiles gängiger Programmiersprachen und enthielt u. a. Verweise auf sämtliche Dateien, die Bestandteil der kompilierten Hilfedatei werden sollten.
Bilder konnten entweder direkt in das RTF eingefügt werden (waren dann aber auf eine Größe von 32 KB beschränkt[3]) oder als Referenz eingebettet werden, wobei das Bild erst bei Laufzeit eingefügt wird. Unterstützt wurden zunächst ausschließlich Bitmaps, ab Windows 3.1 WMF-Dateien sowie zwei proprietäre Bildformate.[4]
Mithilfe von Makros konnten entweder Funktionen über eine mitgelieferte DLL-Datei ausgeführt werden, oder auch unmittelbar aus der Hilfedatei heraus auf die Windows-API zugegriffen werden.[5] Insbesondere letzteres galt später als eklatantes Sicherheitsrisiko.
Optional konnte eine Hilfedatei Schlüsselwörter definieren, die dann über einen Index durchsucht werden konnten. Ab Windows 95 gab es dann auch eine echte Volltextsuche innerhalb von Hilfedateien.
Die Compiler waren noch bis Windows 3.1 MS-DOS-Programme und somit auf die 640 KB konventioneller Speicher begrenzt, auch wenn Microsoft später eine Version des Compilers veröffentlichte, die DOS-Extender unterstützte und somit nicht mehr von dieser Beschränkung betroffen war.[6] Ab Windows 95 gab es dann den grafischen Help Compiler, der auch kostenlos zum Download von der Microsoft-Webseite angeboten wurde.
Ablösung des Formats
Mit Windows 98 wurde WinHelp durch das HTML-Help-Format ersetzt, WinHelp wurde aber aus Gründen der Abwärtskompatibilität weiter unterstützt.
Windows Vista enthält keine Unterstützung für WinHelp mehr. Der Betrachter kann aber bei Bedarf von der Microsoft-Webseite heruntergeladen werden. Auch für Windows 7 und Windows 8 kann ein Betrachter für WinHelp noch von der Microsoft-Webseite heruntergeladen werden. Spätere Versionen unterstützten das WinHelp-Format nicht mehr.[7]
Einzelnachweise
- Q91025: Creating Help Files Compatible with Windows 3.0 and 3.1. In: Microsoft Knowledge Base. Microsoft, 6. November 1999, abgerufen am 22. Mai 2018 (englisch).
- Ray Duncan: Electronic Publishing with Windows Help. In: Ziff Davis (Hrsg.): PC Magazine. Band 14, Nr. 1, 10. Januar 1995, ISSN 0888-8507, S. 246–249 (englisch, eingeschränkte Vorschau in der Google-Buchsuche).
- Q85676: Windows Help and Help Compiler Capacity Limits. In: Microsoft Knowledge Base. Microsoft, 6. November 1999, abgerufen am 22. Mai 2018 (englisch).
- Q90291: Using Graphics Within a Help File. In: Microsoft Knowledge Base. Microsoft, 12. Januar 2000, abgerufen am 22. Mai 2018 (englisch).
- Jim Mischel, Pete Davis: Undocumented WinHelp, Part 2: Find out how to make WinHelp do things it really wasn’t meant to do. In: Ziff Davis (Hrsg.): PC Magazine. Band 14, Nr. 15, 12. September 1995, ISSN 0888-8507, S. 536–541 (englisch, eingeschränkte Vorschau in der Google-Buchsuche).
- Q84931: Use Extended Memory to Build Larger Windows Help Files. In: Microsoft Knowledge Base. Microsoft, 23. Juli 2001, abgerufen am 22. Mai 2018 (englisch).
- Fehler beim Öffnen der Hilfe in Windows-basierten Programmen: „Feature nicht enthalten“ oder „Hilfe nicht unterstützt“. In: support.microsoft.com. Microsoft, 10. Mai 2023, abgerufen am 26. Oktober 2023.