Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Сфера Microsoft » Программное обеспечение Windows » Разное - (статья) Как создать CHM файл (HTM2CHM и HTML Help Workshop в действии)

Ответить
Настройки темы
Разное - (статья) Как создать CHM файл (HTM2CHM и HTML Help Workshop в действии)

(*.*)


Сообщения: 36491
Благодарности: 6675


Конфигурация

Профиль | Сайт | Отправить PM | Цитировать


Доброго времени суток!

Предлагаю вашему вниманию статью Как создать CHM файл (HTM2CHM и HTML Help Workshop в действии)

Цитата:
CHM - это расширение файла в формате Compressed HTML Help. Формат был разработан Microsoft для гипертекстовых справочных систем. Для просмотра CHM файлов достаточно наличия в системе Internet Explorer. У CHM файлов, как правило, есть Содержание - отдельная панель со списком статей для упрощения навигации.

Изложенное ниже руководство применимо к созданию любого CHM файла, обладающего древовидной структурой отображения страниц в содержании, индексом, полнотекстовым поиском с поддержкой логических операторов и возможностью добавления страниц в избранное.
Читать дальше...

Статья была написана по мотивам создания учебника по автоматической установке, куда она и вошла в виде бонуса еще весной. Проанонсировать в ПО я забыл, так что исправляю недочет

Спасибо за внимание!

-------
Канал Windows 11, etc | Чат @winsiders

Это сообщение посчитали полезным следующие участники:

Отправлено: 06:48, 05-09-2006

 

(*.*)


Сообщения: 36491
Благодарности: 6675

Профиль | Сайт | Отправить PM | Цитировать


Цитата ne-dm:
не работает если открывать с сетевого диска. »
В свойствах файла нажмите кнопку Разблокировать.

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 18:12, 03-10-2013 | #61



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Консультант


Сообщения: 1511
Благодарности: 413

Профиль | Отправить PM | Цитировать


http://support.microsoft.com/?kbid=240062 где-нибудь (желательно на русском) про это можно прочитать?
Имеется ввиду как вручную (в блокноте) редактировать файл .hhp для добавления/убирания нужных кнопок, вкладок.

-------


Отправлено: 19:50, 13-04-2014 | #62


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


regist, на русском — особо нигде. Лучше напишите, что именно Вам непонятно.

Update: а на английском хорошая подборка есть здесь: MS HTML Help - Helpware Wiki - KB.

Отправлено: 20:05, 13-04-2014 | #63


Ветеран


Консультант


Сообщения: 1511
Благодарности: 413

Профиль | Отправить PM | Цитировать


Iska, спасибо за ссылку. Хочу разобраться, что там надо прописать в файле, чтобы добиться вот такого результата.

-------


Отправлено: 20:15, 13-04-2014 | #64


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Создать определение своего окна:


Затем задать его параметры:

т.е.:


Как видите, кнопка «Шрифт» там отсутствует. Не обращая на это внимание, делаете всю оставшуюся работу по наполнению проекта. В самом конце, перед компиляцией готового продукта, сохраняете проект и закрываете «HTML Help Workshop». Делаете резервную копию файла проекта *.hhp.

Открываете файл проекта в редакторе и видите нечто наподобие:

Нас интересует двенадцатое поле, т.е. — «0x6e» в данном случае.

Запускаем калькулятор, переводим его в инженерный вид, устанавливаем переключатель режима счисления в «Hex», вставляем шестнадцатеричное значение «6E». Устанавливаем переключатель режима счисления в «Bin» и видим бинарную маску всех наших пяти заданных кнопок:

в виде двоичного значения «1101110», где единица в том или ином бите означает ту или иную кнопку.

Для добавления кнопки «Шрифт» нам надо установить двадцать первый бит данного числа, т.е. получить «100000000000001101110»:


Это двоичное число мы вставляем в калькулятор, затем устанавливаем переключатель режима счисления обратно в «Hex», и получаем шестнадцатеричное «0x10006e»:

которое и вставляем в файл *.hhp вместо «0x6e». Сохраняем файл, затем компилируем его и получаем результат:
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:38, 13-04-2014 | #65


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Попытка сделать то же самое, но программно, на WSH:
читать дальше »
Код: Выделить весь код
Option Explicit

Const ForReading = 1
Const ForWriting = 2


Dim strSourceFile

Dim objFSO

Dim arrContent
Dim i
Dim boolFound


If WScript.Arguments.Count = 1 Then
	strSourceFile = WScript.Arguments.Item(0)
	
	Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
	
	If objFSO.FileExists(strSourceFile) Then
		With objFSO.OpenTextFile(strSourceFile, ForReading)
			arrContent = Split(.ReadAll(), vbCrLf)
			.Close
		End With
		
		With WScript.CreateObject("VBScript.RegExp")
			.Pattern = "^.*\[WINDOWS\].*$"
			.IgnoreCase = True
			
			boolFound = False
			
			For i = LBound(arrContent) To UBound(arrContent)
				If .Test(arrContent(i)) Then
					boolFound = True
					
					Exit For
				End If
			Next
			
			If boolFound Then
				.Pattern = "^((?:.*?,){11})(.*?)(,.*)$"
				
				If .Test(arrContent(i + 1)) Then
					arrContent(i + 1) = .Replace(arrContent(i + 1), "$10x" & Hex(Eval(Replace(.Execute(arrContent(i + 1)).Item(0).Submatches(1), "0x", "&H")) Or 2^20) & "$3")
					
					With objFSO.OpenTextFile(strSourceFile, ForWriting)
						.Write Join(arrContent, vbCrLf)
						.Close
					End With
				Else
					WScript.Echo "Can't find button's mask in first line of [WINDOWS] section."
					WScript.Quit 4
				End If
			Else
				WScript.Echo "Can't find [WINDOWS] section in [" & strSourceFile & "]."
				WScript.Quit 3
			End If
		End With
	Else
		WScript.Echo "Can't find source file [" & strSourceFile & "]."
		WScript.Quit 2
	End If
	
	Set objFSO = Nothing
Else
	WScript.Echo "Usage: cscript.exe //nologo " & WScript.ScriptName & " <Path to .hhp project>"
	WScript.Quit 1
End If

WScript.Quit 0

Можно просто перетащить файл проекта «.hhp» на скрипт.

Ограничения на использование:
  • невозможность использования в полных путях к файлу/файлам оглавления «.hhc» запятой — «,»;
  • обработка только одного определения окна, идущего непосредственно за именем раздела «[WINDOWS]»;
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:39, 14-04-2014 | #66


Ветеран


Консультант


Сообщения: 1511
Благодарности: 413

Профиль | Отправить PM | Цитировать


Iska, весь проект справки собран HTM2CHM, от HTML Help Workshop мне в принципе нужен только .hhp файл - для дальнейшей возможности компиляции справки из командной строки. В принципе как раз этот вопрос описан в статье Vadikan-а, но у меня страницы справки разложены по папкам. Так что надо по очереди лазить по всем папкам и добавлять оттуда HTML страницы. Может есть более удобный для моего случая способ переноса проекта из одной программы в другую? Или может просто прямо в блокноте создать «.hhp» файл указав там настройки кнопок? (но тогда появляется как раз вопрос, что туда нужно вписать и какой синтаксис).

-------


Отправлено: 15:00, 15-04-2014 | #67


Ветеран


Консультант


Сообщения: 1511
Благодарности: 413

Профиль | Отправить PM | Цитировать


Как в HTML Help Workshop отключить (убрать) вкладку "Указатель" ?


А по поводу вопроса из предыдущего поста всё оказывается намного проще. Добавлять HTML странички оказывается вообще не нужно. Достаточно добавить Index.hhk и TOC.hhc, а остальное и так добавится при компиляции в .chm

-------


Последний раз редактировалось regist, 05-05-2014 в 18:04.


Отправлено: 17:37, 05-05-2014 | #68


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата regist:
Как в HTML Help Workshop отключить (убрать) вкладку "Указатель" ? »
Не включать индексный файл в проект.

Цитата regist:
Добавлять HTML странички оказывается вообще не нужно. Достаточно добавить Index.hhk и TOC.hhc, а остальное и так добавится при компиляции в .chm »
Далеко не факт.

Отправлено: 22:01, 05-05-2014 | #69


Ветеран


Консультант


Сообщения: 1511
Благодарности: 413

Профиль | Отправить PM | Цитировать


Цитата Iska:
Не включать индексный файл в проект. »
подробней можно?
Цитата:
Далеко не факт.
в моём случае этого оказалось достаточным - поделился решением, может ещё кому-то пригодится.
Но по идее если на файлы ведут ссылки из файлов включенных в проект, то эти файлы (на которые ведут ссылки) тоже будут включены в итоговый файл. Разве нет?

-------


Отправлено: 13:41, 06-05-2014 | #70



Компьютерный форум OSzone.net » Сфера Microsoft » Программное обеспечение Windows » Разное - (статья) Как создать CHM файл (HTM2CHM и HTML Help Workshop в действии)

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Офис и Текст - [addon] HTML Help Workshop Rus (компилятор справок в формате CHM) gora Наборы обновлений для Windows XP/2003/Windows 7 14 25-02-2017 11:27
[Статья] Как создать FullUnattended DirectX, IE7, WMP11, NetFW и не только!!! prokazzza Автоматическая установка Windows 2000/XP/2003 12 09-02-2012 09:48
Разное - Файлы справки HTML (chm) sd01 Microsoft Windows 2000/XP 1 12-01-2010 00:01
Разное - [статья] Как переместить файл подкачки в Windows Vista Vadikan Microsoft Windows Vista 12 01-10-2008 11:35
Как в Делфях прикрутить файл chm [mzd] Программирование и базы данных 5 09-03-2004 23:22




 
Переход