- Файлы справки (WinHelp) Help Files (WinHelp)
- Формат WinHelp
- Сводная информация
- Как выглядит WinHelp
- Как работает WinHelp
- Как создать WinHelp
- Чем открыть CHM файл в Windows
- Не открывается файл CHM
- Не отображается содержимое файла CHM
- Выводы статьи
- Windows Programming/Compiled HTML Help
- Contents
- Making HTML Help Modules [ edit | edit source ]
- HTML Help API [ edit | edit source ]
- Creating an HTML Help Module [ edit | edit source ]
- HTML Help Files [ edit | edit source ]
- The Project Sidebar [ edit | edit source ]
- Decompiling [ edit | edit source ]
Файлы справки (WinHelp) Help Files (WinHelp)
Указанные ниже файлы создаются, когда вы добавляете в приложение поддержку справки типа WinHelp, установив флажок Контекстная справка и выбрав Формат WinHelp на странице Дополнительные функции мастера приложений MFC. The following files are created when you add the WinHelp type of Help support to your application by selecting the Context-sensitive help check box and then selecting WinHelp format in the Advanced Features page of the MFC Application Wizard.
Имя файла File name | Расположение каталога Directory location | Расположение в обозревателе решений Solution Explorer location | Описание Description |
---|---|---|---|
Имя_проекта.hpj Projname.hpj | Имя_проекта\hlp Projname\hlp | Исходные файлы Source Files | Файл проекта справки используется компилятором справки в целях создания файла справки для элемента управления или программы. The Help project file used by the Help compiler to create your program or control’s Help file. |
Имя_проекта.rtf Projname.rtf | Имя_проекта\hlp Projname\hlp | Файлы справки Help Files | Содержит шаблоны разделов, которые можно изменять, а также сведения о настройке HPJ-файла. Contains template topics that you can edit and information on customizing your .hpj file. |
Имя_проекта.cnt Projname.cnt | Имя_проекта\hlp Projname\hlp | Файлы справки Help Files | Предоставляет структуру для окна Содержимое в справке Windows. Provides the structure for the Contents window in Windows Help. |
Makehelp.bat Makehelp.bat | ProjName Projname | Исходные файлы Source Files | Используется системой для сборки проекта справки при компиляции проекта. Used by the system to build the Help project when the project is compiled. |
Print.rtf Print.rtf | Имя_проекта\hlp Projname\hlp | Файлы справки Help Files | Создается, если проект включает поддержку печати (по умолчанию). Created if your project includes printing support (the default). Описывает команды и диалоговые окна печати. Describes the printing commands and dialog boxes. |
*.bmp *.bmp | Имя_проекта\hlp Projname\hlp | Файлы ресурсов Resource Files | Содержат изображения для различных формируемых разделов в файлах справки. Contain images for the different generated help file topics. |
Поддержку WinHelp можно добавить в проект элемента управления ActiveX MFC, выбрав Создать файлы справки на вкладке Параметры приложения мастера элементов управления ActiveX MFC. You can add WinHelp support to an MFC ActiveX Control project by selecting Generate help files in the Application Settings tab of the MFC ActiveX Control Wizard. Когда вы добавляете поддержку справки в элемент управления ActiveX MFC, в проект добавляются следующие файлы: The following files are added to your project when you add Help support to an MFC ActiveX control:
Формат WinHelp
Разработанный на смену Microsoft QuickHelp, формат WinHelp на протяжении полутора десятилетий был стандартом отрасли и популярным форматом справки для операционных систем семейства Windows, начиная с версии 3.0 до XP. Для Windows Vista, Windows 7, Windows 8 и 8.1 средство для просмотра файлов WinHelp можно и сегодня бесплатно скачать на сайте компании Майкрософт. Начиная с Windows 10 формат WinHelp не поддерживается.
Сводная информация
Наименование :
WinHelp (Microsoft Windows Help, .HLP) — устаревший формат файлов справки для организации справочной системы.
Расширение файлов:
Платформы:
Windows 3.0 – Windows XP
Программа:
Microsoft Help Workshop
Файлы .hlp можно открыть при помощи браузера для просмотра справки winhelp.exe или winhlp32.exe.
Начиная с Windows Vista в составе дистрибутива нет средства для просмотра файлов справки в формате WinHelp. Для Windows Vista, Windows 7, Windows 8 и 8.1 его можно бесплатно скачать из Центра загрузки Майкрософт и установить.
В Windows 10, Windows Server 2012 и более поздних версиях данного семейства ОС WinHelp не поддерживается.
Разработчик, 1-й релиз:
Майкрософт, 1987 г.
Первую версию WinHelp разработал Флойд Роджерс (Floyd Rogers) в 1987 г.
В 1992 г. разработку WinHelp возглавил Ральф Уолден (Ralph Walden), автор Microsoft QuickHelp, выпустивший WinHelp 4.0.
История:
1987-1989 — выход WinHelp 1.х и WinHelp 2.0 с ранними версиями Word и Excel.
1990 —WinHelp 3.0 вышел в мае с Windows 3.0;
1992 —WinHelp 3.1 вышел в марте с Windows 3.1;
1995 — WinHelp 4.0 с Windows 95/NT;
2006 — Майкрософт объявили о прекращении разработки и поддержки WinHelp.
2009 — 14 октября Майкрософт объявила о возможности загрузки браузера справки winhlp32.exe для Windows 7.
Формат — предшественник:
WinHelp был создан для замены Microsoft QuickHelp (система текстовой справки / character based help для OS/2, разработанная Ральфом Уолденом в 1987 г., которая была позднее портирована в MS-DOS).
Формат-преемник:
Поддержка контекстной
справки:
Возможность изменения
внешнего вида под пользователя:
В современном смысле – нет.
Как выглядит WinHelp
Справка в формате WinHelp — это файл(ы) с расширением .hlp. С ними могут поставляться файлы в формате .cnt, содержащие оглавление справки. Их наличие не обязательно.
При запуске файла WinHelp открывается либо оглавление, либо указатель, либо раздел (topic), выбранный разработчиком справки как раздел по умолчанию. Оглавление, указатель и поиск располагаются в отдельном окне на соответствующих вкладках. Текст раздела справки, выбранного в оглавлении, открывается также в отдельном окне, для которого разработчик может задать размер и расположение. Работая со справкой, пользователи могут перемещать окна, а также менять их размеры. Пользовательские размеры и положение окон справки могут сохраняться между сессиями. Окна справки могут также каждый раз открываться с использованием значений, заданных по умолчанию в настройках проекта.
В верхней части окна с текстом справки может отображаться меню с командами: Файл, Правка, Закладка, Параметры, Справка. Под ним или вместо него могут отображаться кнопки Вызов справки (открыть окно с содержанием, указателем и поиском, которое может закрываться при открытии раздела), Вперед, Назад, Печать, Параметры и т.д. Ниже расположена область отображения текста раздела. Заголовок раздела, как правило, выделен жирным и может либо прокручиваться с текстом раздела, либо быть статичным. Для заголовка и текста раздела можно задать разный цвет фона. Текст справки может содержать ссылки на другие разделы, а также ссылки для открытия всплывающих подсказок (например, определений терминов). Ссылки на другие разделы обычно отображаются как текст зеленого цвета с двойным подчеркиванием (цвет можно изменить). Ссылки, открывающие всплывающие подсказки, обычно оформлены как текст зеленого цвета, подчеркнутый курсивом.
Как работает WinHelp
При открытии файла справки WinHelp операционная система создает в этой же папке или в папке «%LOCALAPPDATA%\Help» (например, в Windows 7 C:\Users\User\AppData\Local\Help) файл с расширением .gid, содержащий такую информацию о .hlp-файле, как размер окна и месторасположение файла. Когда пользователь в окне справки переходит на вкладку с предметным указателем или поиском, операционная система создает в той же папке файл с расширением .fts (full text search). Пользовательские заметки и закладки (annotations and bookmarks), созданные во время работы со справой, сохраняются в файлах с расширениями .ann и .bmk.
Как создать WinHelp
Справка в формате WinHelp представляет собой один или несколько текстовых файлов в формате .rtf, а также рисунки в формате .bmp, скомпилированные в файл формата .hlp. Чтобы создать справку в формате WinHelp, необходимо:
- подготовить текст разделов справки в любом текстовом редакторе, позволяющем работать с документами в формате .rtf;
- подготовить графику в формате .bmp или .shg (не обязательно);
- собрать справку при помощи программы Microsoft Help Workshop (либо аналогичной программы для создания справки в формате WinHelp).
Для сборки .hlp-файла минимально необходимы один или несколько файлов в формате .rtf и файл проекта в формате .hpj. Полный список исходных файлов следующий:
- .hpj – файл проекта справки; создается и редактируется программой Microsoft Help Workshop; содержит данные о файлах с текстом и рисунками, которые необходимо включить в справку, о размере окна справки, его цветовой схеме, вызове справки из приложения и т.д.
- .cnt — оглавление для файла справки;
- .bmp — файлы рисунков, использованных в справке (.bmp, .wmf или .shg);
- .shg — segmented hyper graphics; файл, содержащий рисунок и карту ссылок (щелкнув различные части рисунка, пользователь может открыть разные разделы справки); создается программой exe, входящей в состав Microsoft Help Workshop, либо аналогичными программами.
- .rtf — файл(ы) с текстом справки, который размечен особым образом.
В .rtf-файлах используется следующая разметка текста. Разделы (topics) отделяется друг от друга разрывами страниц. В тексте раздела используются следующие сноски:
- # — идентификатор раздела (topic ID), используется для создания ссылок на данный раздел; данная сноска обязательна;
- $ — название раздела, как оно будет отображаться в оглавлении и других местах;
- К — ключевые слова для указателя;
- А — ключевые слова для формирования ссылок «Смотрите также» (See Also), A-keywords или associative keywords;
- * — теги сборок;
- + — сноски с данными о последовательности просмотра;
- ! — макрос, который будет запущен при открытии раздела.
Чем открыть CHM файл в Windows
Файл в формате CHM предназначен для отображения справочной документации. Скомпилированный файл справки в формате HTML (.chm) разработан корпорацией .
Файл справки в формате CHM (Compiled Help Modules) по умолчанию открывается утилитой, встроенной в операционную систему. Для открытия файла в этом формате достаточно два раза кликнуть по файлу CHM мышью, или открыть файл в соответствующей программе, которая имеет справочную информацию в виде файла данного типа, из меню управления приложения.
Далее операционная система Windows запустит утилиту и откроет скомпилированный файл помощи.
Чем еще можно открыть файл справки с расширением CHM? С помощью сторонних программ, файл справки CHM можно открыть в программах: 7-Zip, Sumatra PDF, Calibre, и некоторых других.
Не открывается файл CHM
В некоторых случаях, файл справки с расширением CHM не открывается:
- если файл CHM находится на сетевом диске, то для открытия файла нужно скопировать файл справки на компьютер;
- если в имени файла есть кириллица или специальные символы, то нужно переименовать файл, дав файлу имя буквами латинского алфавита.
Не отображается содержимое файла CHM
Намного чаще встречаются другой вариант: сам CHM файл запускается из программы, или непосредственно после клика по файлу, но содержимое справки не отображается. Открыто только содержание документа.
На написание этой статьи меня надоумил случай, происшедший со мной. Я писал на сайте обзор программы IrfanView. Программа поддерживает русский язык, но файлы для русификации программы, устанавливаются после установки программы на компьютер.
После установки языкового пакета, я запустил файл справки в программе, и увидел, что содержимое CHM файла не отображается. Операционная система Windows блокирует отображение файла справки с целью защиты компьютера.
Что делать? На самом деле, я знаю, что следует сделать, так как ранее уже сталкивался с подобной проблемой. Я продумал, что некоторые пользователи также могут столкнуться с таким вариантом запуска документа. Человек надеется получить ответы на свои вопросы, а вместо этого, получает пустое содержание файла справки, отображается только оглавление.
Сначала необходимо найти скомпилированный файл справки в формате CHM на компьютере. В большинстве случаев, он расположен в папке установленной программы.
Далее кликните правой кнопкой мыши по файлу формата CHM. В открывшемся контекстном меню выберите пункт «Свойства».
После этого откроется окно «Свойства: имя_файла». В нижней части окна вы увидите предупреждение: «Осторожно: этот файл получен с другого компьютера и, возможно, был заблокирован с целью защиты компьютера».
Далее поставьте галку напротив пункта «Разблокировать», а затем нажмите на кнопку «ОК».
Вы можете снова открыть файл справки CHM и увидеть, что теперь содержимое справки отображается.
Выводы статьи
Скомпилированный HTML-файл справки в формате CHM можно открыть с помощью средства операционной системы, или с помощью сторонних программ. В некоторых случаях, Windows блокирует содержимое файла справки для защиты компьютера, поэтому файл CHM можно разблокировать для отображения содержимого помощи.
Windows Programming/Compiled HTML Help
In most programs, the menu will have a popup item called «Help». In the help menu, there is frequently an option for «Contents» or «Index» or «Topics». When you click on these options, it brings up a help box.
These help boxes are known as «Compiled HTML Help Modules», or .chm files. These help files can be compiled from HTML source code using the Microsoft HTML Help Workshop, available as a free download from Microsoft.
Contents
Making HTML Help Modules [ edit | edit source ]
HTML help modules can be compiled from source files containing a mixture of HTML, DHTML, CSS and JavaScript. This is the same exact HTML that is used in writing web pages, so people with web experience will have a leg up creating HTML help modules. HTML, CSS and JavaScript are languages that are very well suited for graphical applications, but the functionality is far less then C or VB. The Help Workshop contains a number of different options, as to whether you want to include an index window, if you want to allow searching and indexing, if you want to have a Table of Contents, et cetera. A default page may be chosen to be displayed when the Help Module is first loaded. Pages in a help module may use hyper links to link to other pages in the module, other files on the computer, or even resources from the internet.
HTML Help API [ edit | edit source ]
The HTML Help Workshop comes with a header file («htmlhelp.h») and a library file («htmlhelp.lib») that must be utilized in your project to be able to call HTML help modules from your program. Windows.h must be included before the Htmlhelp.h file, or the compiler will spew out errors. Htmlhelp.h defines a single function, HtmlHelp that can be called from inside your program:
This function returns a handle to the html help window, and your program can interact with this window at a relatively high level, if you want it to. The first parameter is the handle to the calling (parent) window. If you set this parameter, the help window will be a child of your window, and can communicate with it. If you set this to NULL, the help window will essentially be autonomous. The «pszFile» parameter is the filename of the target help module. The «uCommand» may contain a number of different commands, some of which are very complicated and involved. The simplest (and most common) is the HH_DISPLAY_TOPIC command, which displays help like normal, and allows the user to view and interact with the help module. The «dwData» may optionally contain additional data, depending on the command used.
If we want to open a help module, located at c:/help/myhelp.chm, we can use the following command:
Now, let’s say that we want to open a specific page inside our help module. Let’s say that our module contains a page called «example.htm». We can open the help directly to that page, by changing the destination string a little bit:
And further more, we can force the page to be displayed in a particular window of our help viewer, if we have created more then one window for it. Let’s say we have created a window called «SideWin» in our html help module. We can load our page (example.htm) into SideWin using the following syntax:
For more advanced options, and a discussion of some of the other commands, you should check out the related material at MSDN.
Creating an HTML Help Module [ edit | edit source ]
The HTML help workshop has 5 buttons across the top, In order, from left to right, they are:
New create a new HTML file for editing Open open an existing HTML file for editing Compile Compile the current project into a help module View view the current help project Help Opens a help viewer window
If you click on the «New» button (or alternately select «File>New» from the menu bar), you will be prompted to select what type of new thing you want to create. To start, you should create a new project.
Selecting to create a new project will open up a wizard, that will walk you through the steps of creating a new project.
HTML Help Files [ edit | edit source ]
There are 3 different file types that may be included in an HTML Help project: HTML source files (.HTM) Table of Contents files (.HHC) and Index Files (.HHK). Once you have created a new project, you may edit and add all of these types of files to your project. Each HTML help module may only have one .HHC and one .HHK file.
The Project Sidebar [ edit | edit source ]
When you start a new project, and complete the wizard, you will see a sidebar, on the left-hand-side of the help workshop window, that will allow you to edit the project options, the table of contents, and the index.
Decompiling [ edit | edit source ]
On Windows, a CHM file can be extracted to plain HTML with the command:
This will decompress all files embedded in filename.chm to folder extracted .
You can also use HTML Help Workshop to decompile CHM files. File -> Decompile. [ citation needed ]
7-Zip will open .chm files as archives allowing access to all content.
On Windows, select the topmost Topic, right-click and select Print. On the popup dialog, select «Print this heading and all subtopics.», click OK. Before selecting a printer, look in %HOMEPATH%\Local Settings\Temp for a file named
hh*.htm. This is the concatenated HTML. The image reference will refer to the .chm file at the time of the print.
On Linux systems which use apt as a packaging tool, a CHM file is extracted to plain HTML with extract_chmLib (first command is for a Debian based OS):