Blog. Just Blog

HtmlHelp Wrapper 2.2

Версия для печати Добавить в Избранное Отправить на E-Mail | Категория: Мои программы | Автор: ManHunter
Скриншот программы HtmlHelp Wrapper
Скриншот программы HtmlHelp Wrapper

HtmlHelp Wrapper - это программа-обертка для открытия .CHM-файлов и .HLP-файлов из командных файлов или приложений. От обычной утилиты HtmlHelp, которая идет в комплекте Windows, эта программа отличается тем, что при открытии файла справки позволяет искать ключевые слова, а для CHM-файлов дополнительно автоматически синхронизировать список ключевых слов и открытой статьи, а также открывать более одной копии справки для отдельного приложения и закрывать открытую справку по нажатию Esc. Есть возможность открывать файлы справки с именами в юникоде. Кроме своих функций и параметров запуска, поддерживаются все стандартные ключи утилиты HtmlHelp, поэтому можно заменить файл hh.exe в папке Windows на HtmlHelp Wrapper (не забывайте про резервные копии). Для более корректной установки без модификации системы лучше воспользоваться прилагаемыми пакетными файлами.

Использование:

htmlhelp "my_file.chm[::topic]" "[-kw:keyword]"
Просто открыть файл справки:

htmlhelp "C:\My Folder\my_file.chm"
Открыть файл справки на заранее известной странице:

htmlhelp my_file.chm::/res/topic_1.html
Поиск по справке отдельного слова или нескольких:

htmlhelp my_file.chm -kw:sample
или
htmlhelp my_file.chm "-kw:words to search"

Декомпиляция CHM-файла:

htmlhelp -decompile my_folder my_file.chm
или
htmlhelp -d "C:\My Folder\my_file.chm"

Некоторые антивирусы почему-то дают ложные срабатывания на HtmlHelp Wrapper, хотя никакого деструктивного или потенциально опасного кода программа не содержит. HtmlHelp Wrapper написан для личных нужд, если пригодится кому-то еще, то пользуйтесь на здоровье.

HtmlHelp Wrapper 2.2 (password: manhunter.ru)HtmlHelp Wrapper 2.2 (password: manhunter.ru)

HtmlHelp.Wrapper.2.2-PCL.zip (18,462 bytes)


Поделиться ссылкой ВКонтакте
Просмотров: 16624 | Комментариев: 101

Внимание! Статья опубликована больше года назад, информация могла устареть!

Комментарии

Отзывы посетителей сайта о статье
user (23.03.2024 в 22:27):
Ну да, фокус устанавливается на основной HWND. Внутри - слева окно списка, справа окно самого текста справки. На окне с текстом фокуса нет, и табом туда тоже с клавиатуры не попадёшь. Только мышью.
ManHunter (21.03.2024 в 23:40):
Фокус на окно справки и так ставится.
user (21.03.2024 в 23:00):
А нельзя ли добавить автоматическую установку фокуса на окно документа при вызове справки? Т.е. в чём смысл - я нажимаю F1 на ключевом слове в IDE и далее хочу полистать помощь сразу нажимая на Page Up / Page Down. Приходится мышью сначала фокус на окно устанавливать. Можно конечно приблуду отдельную написать, но хочется чтобы это было интегрировано в самой программе.
ManHunter (04.01.2024 в 13:55):
Это лишнее. hlp и chm вполне достаточно.
yozhic (30.12.2023 в 21:47):
Системная hh.exe помимо chm открывает ещё htm(l), txt (моноширинным шрифтом, как pre в html), xml с разными расширениями (например, вот этот справочник по ключам TC: http://flint-inc.ru/tcinfo/Russian.cedf). Нельзя ли и Wrapper тому же научить? Вот, очень бы хорошо б было.
Павел (22.11.2021 в 21:19):
ЦитатаПавел, ну чо как? Сейчас норм?

Тестирую. Не знаю, как Вы это сделали, но пока нормально. Открываются даже если в пути встречается символ #.
кодер (11.11.2021 в 20:13):
А я вот прикрутил к Visual Studio помощь по wxWidgets в формате chm по хоткею. Работает идеально. Спасибо за гениальную утилиту!
ManHunter (06.11.2021 в 23:02):
Павел, ну чо как? Сейчас норм?
ManHunter (18.10.2021 в 21:50):
Не воспроизводится, все прекрасно открывается.
askold (18.10.2021 в 19:18):
win7 sp1 x64;
файл "cmd-win.chm" не открывается ? прога виснет.
переименовываем файл, убирая из имени дефис ? всё работает ок.
ManHunter (17.10.2021 в 20:32):
Все бы ничего, да только системы бывают слишком разные. Делать набор для каждой винды от XP до Win11? На это вообще нет ни времени, ни желания.
newfuck (17.10.2021 в 11:20):
в очередной раз повредилась винда и chm перестали открываться, не помогало ничего (замена hh.exe, сброс всех настроек IE и защиты и т.п.) - файл открывался, оглавление слева было, а содержимое не отображалось. Переустановил винду и заработало. Поэтому м/быть стоит сделать сборку "всё включено" HtmlHelp+hh+hhctrl.ocx+что там ещё нужно для парсинга, чтобы не зависеть от виндовых файлов?
ManHunter (13.10.2021 в 23:17):
Версия 2.2. В очередной раз решена проблема с запрещенными символами в имени и путях файла, на этот раз радикально и окончательно. Добавлена автоматическая разблокировка hlp-файлов, скачанных из интернета. Добавлен ключ для открытия справок на TOC. Добавлена возможность работы с помощью Image File Execution Options, теперь не требуется подмена файлов. Для установки воспользуйтесь файлом install.bat, для деинсталляции, соответственно, uninstall.bat. Инсталлятор рекомендуется запускать с правами админа, но может сработать и так, смотрите логи установки. Добавлена обработка критических ошибок. Множество прочих мелких исправлений и доработок.
User (05.10.2021 в 07:33):
Сделай, пожалуйста, подобный лоадер для winhlp32, чтобы его тоже не приходилось подменять.
ManHunter (23.09.2021 в 07:47):
Есть такое дело. К сожалению, винда не перестает радовать своей непредсказуемостью. При "системном" вызове hh его параметры, даже с пробелами, передаются без кавычек. Вот и приходится в случае подмены hh делать дополнительные проверки.
User (23.09.2021 в 03:28):
ManHunter, фильтруешь hh.exe, передавая только путь к файлу?
ManHunter (21.09.2021 в 08:00):
Я уже сделал нормальную поддержку Image File Execution Options, там даже файл менять не надо. Ждите следующую версию.
User (21.09.2021 в 05:01):
Чтобы заменить системный hh.exe можно положить с ним файл по ссылке и запустить: https://mega.nz/file/x11UmTaB#...2gxOUSgcuVy4
ManHunter (24.08.2021 в 15:49):
Проблему с запрещенными фрагментами в имени файла или пути, как оказалось, можно решить при помощи символических ссылок. В этом направлении я буду подумать.
ManHunter (24.08.2021 в 14:36):
В следующей версии будет возможность не заменять hh.exe, а использовать его параллельно с помощью Image File Execution Options. Пока тестирую.
Сергей Озеров (23.08.2021 в 11:28):
На Windows 10 не дает заменить системный hh. Что делать?
ManHunter (14.08.2021 в 15:05):
Под Win10x64 тоже работает, даже с заменой системного hh. Архив обновлен.
ManHunter (14.08.2021 в 13:29):
Насколько я понял, в каких-то случаях окно убивалось раньше, чем обрабатывалась очередь сообщений к нему. По итогу последнее получение координат давало нули. Вроде поправил, архив обновлен.

Проверил под Win7x86, Win7x64 с заменой системного hh.exe, все работает.
newfuck (14.08.2021 в 12:42):
теперь всё нормально!

нормально, в смысле при повторном запуске окно не свёрнуто, а только уменьшено) Но программа не запоминает размер и позицию..
ManHunter (14.08.2021 в 11:54):
У меня все работает нормально. Пока добавил обработку нулевых данных из ini, архив обновлен. Разбираюсь с причиной, спасибо!
newfuck (14.08.2021 в 09:10):
версия 2.1 глючит: после создания htmlhelp.ini в нём прописываются нули и никак их не изменить. При повторном запуске любого (одно и того же) файла (запускал перетаскиванием на htmlhelp.exe) окно минимизировано.
ManHunter (13.08.2021 в 16:14):
Версия 2.1. Теперь для каждого открываемого chm-файла сохраняется размер и позиция его окна. По умолчанию окна открываются на весь экран. Никаких персональных данных и путей не сохраняется, для очистки базы удалите файл htmlhelp.ini из папки программы. Сделана максимально возможная поддержка путей со всякими запрещенными фрагментами в имени типа ".col", ".chm". Если файл открыть совсем нельзя, то выведется соответствующее сообщение. Библиотека hhctrl.ocx ищется сперва в папке с программой, затем с системной папке. Прочие мелкие изменения и дополнения.
Павел (15.06.2021 в 17:15):
ЦитатаТолько кто возьмется за модификацию?

Будет время, поковыряю. Может что и выйдет.
ManHunter (09.06.2021 в 19:18):
Конечно можно. У меня она и так грузится вручную, сделаю приоритет загрузки из папки программы. Только кто возьмется за модификацию?
Павел (09.06.2021 в 17:35):
ЦитатаТак что для путей будет только частичная поддержка и полная поддержка для имен файлов

Чувствую, в конце концов придётся ковырять hhctrl.ocx (или где там движок сидит?). А то что-то слишком часто не удаётся chm открыть из-за путей. Поэтому вопрос, как я понял, hhctrl.ocx подгружается из системной папки, можно ли сделать так, что если рядом с программой лежит hhctrl.dll (переименованная на всякий случай ocx), то использовать её, а если нет, то использовать из системной папки hhctrl.ocx?
ManHunter (09.06.2021 в 17:18):
Да хер там плавал. Путь C:\folder.col\abc.chm или C:\folder.chm\abc.chm для GetShortPathName абсолютно валидный и .col/.chm не заменяется. Так что для путей будет только частичная поддержка и полная поддержка для имен файлов. Для символа "%" такая же херня, где-то будет, где-то нет. В следующей версии не будет попыток открывать такие файлы, программа сразу выдаст предупреждение с указанием причины невозможности это сделать.

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

Вот тут вроде бы объяснена причина такой нелюбви к ".col" в имени https://firststeps.ru/mfc/steps/r.php?157 или тут https://www.rsdn.org/article/f...hhcolreg.xml
Это расширение файла коллекции CHM, поэтому строка ".col" может находиться только в самом конце строки имени файла, так же как и ".chm".
ManHunter (08.06.2021 в 20:02):
Именно так. Про col в пути понял, сделаю. % и # в имени решения не имеют, это уже на уровне системы.
Павел (08.06.2021 в 19:57):
Цитатарешена проблема с ".col" и ".chm" в имени открываемого файла

К сожалению, если .col или .chm в пути к файлу, не открывает.
С символами % и # в имени тоже.
Как я понял, проблема открытия файлов решается через короткое имя?
ManHunter (19.04.2021 в 16:24):
В следующей версии будет сохранение позиций и размеров каждого открываемого окна справки. Пока экспериментирую.
ManHunter (18.04.2021 в 18:11):
Цитатасправка, которая рассчитана на открытие рядом с окном программы

Так как позицию окна справки невозможно спрогнозировать при открытии штатными средствами, то оно откроется не рядом с окном программы, а где гейтс на душу положит.

И еще, программы при работе со своей справкой не должны использовать вызов hh.exe напрямую, для открытия справки есть WinAPI, которыми они должны пользоваться. И вот там как раз все открывается без каких-либо модификаций.
axe (18.04.2021 в 15:22):
Вы сами советуете заменять стандартную программу. А ведь у многих программ есть контекстная справка, которая рассчитана на открытие рядом с окном программы, что бы можно было одновременно видеть и справку и GUI. Вот о чем я говорю.

Но по поводу неадекватного открытия окон разных справок вы правы. Тут бы горячие клавиши не помешали и возможность их настройки, в INI ).
ManHunter (16.04.2021 в 10:39):
axe, я очень много работаю с файлами справки в течение дня, реально много. И напрягает как раз ситуация, когда окно справки совершенно неконтролируемо и непредсказуемо открывается размером со спичечный коробок в рандомном месте экрана и его надо растягивать или разворачивать. Хоткеи типа Win+UP отключены. Так что полный экран справки сразу при открытии - это очень удобно. Про ini подумаю, но ничего не обещаю.
axe (16.04.2021 в 02:47):
На win7x64 полет нормальный. Только вот открытие окна во весь экран напрягает. Может ini какой придумать или ключ в имени файла, сейчас это модно стало.

В имени исполняемого фала.
ManHunter (14.04.2021 в 22:19):
Ну что я могу сказать, проверил на Win7x64, на Win10x64, везде враппер работает без каких-либо дополнительных танцев с бубнами, даже посторонний hhctrl.ocx не требуется. Так что хз чего там в системе покоцано.
wet (14.04.2021 в 13:07):
Цитатачто винда изрядно покурочена каким-нибудь оптимизатором

Возможно и покурочена, но только не оптимизатором - нет таких в системе, как нет и антивируса, без переустановки эта w7 работает уже много лет. Изредка проверяю автономным Dr.Web CureIt!.

Но прошу заметить, что родная hh.exe работает без нареканий, справку открывает, а значит все стандартные библиотеки есть и работают.
User (13.04.2021 в 15:48):
Тоже, но из десятки https://www38.zippyshare.com/v...Ty/file.html
но там еще зависимости
https://s12.directupload.net/i...pakiu9z9.png
Рискну предположить, что винда изрядно покурочена каким-нибудь оптимизатором
wet (12.04.2021 в 19:22):
ЦитатаВ смысле кто? Я сижу только на x86.

Вам проще. Хотя вы же тоже увлекаетесь фотографией, цифровые извращения тоже требуют много памяти!
А мне надо 16 Гигов оперативки и сборка-конвертирование часового видео ролика за 6 минут :)
И так уже новейшие видео-фото программы под W7 (не говорю уже про x86!) не выпускают, толкают на установку W10.
wet (12.04.2021 в 19:11):
Не прокатило. Сама программа теперь запускается, но chm не открывает.
Cannot open the file: mk:@MSITStore:D:\HtmlHelp Wrapper\mini.chm.
ManHunter (12.04.2021 в 19:01):
ЦитатаА кто сейчас сидит на win x86?

В смысле кто? Я сижу только на x86. Файл из Win7: https://www.upload.ee/files/13...trl.zip.html
wet (12.04.2021 в 18:59):
HtmlHelp Wrapper
---------------------------
Can not load hhctrl.ocx,
possible incorrect version.

Ну да, теперь гораздо лучше!
Но вы правы, эта ocx x64. А кто сейчас сидит на win x86?
hhctrl.ocx версия: 6.1.7600.16385, размер 701925 byte, 64 bit libray
Надо будет из XP вытащить эту либу и в папку с программой сунуть, может прокатит.
ManHunter (12.04.2021 в 17:45):
Сделал загрузку hhctrl.ocx, теперь, по крайней мере, будет адекватная реакция программы. Архив обновлен.
ManHunter (12.04.2021 в 17:23):
Может просто не все компоненты установлены. Буду грузить dll и получать адреса нужных функций самостоятельно, по крайней мере так хоть получится собрать минимальный рабочий набор.
User (12.04.2021 в 17:21):
с самого начала использую сабж на x64
ManHunter (12.04.2021 в 13:31):
Ну так ясно дело, программа 32-битная, а импортируемые библиотеки 64-битные.
wet (12.04.2021 в 13:10):
При запуске получаю это:
---------------------------
htmlhelp.exe - Ошибка приложения
Ошибка при запуске приложения (0xc000007b). Для выхода из приложения нажмите кнопку "ОК".

Win7, x64
ManHunter (12.04.2021 в 01:13):
Версия 2.0. Полностью переписан и оптимизирован код, реализована полная поддержка юникода в именах файлов, решена проблема с ".col" и ".chm" в имени открываемого файла, чего так до сих пор не может системный hh.exe. Так что смело заменяйте виндовый просмотрщик на HtmlHelp Wrapper. Экспериментальная функция: chm-файл при открытии разворачивается на весь экран, пока вроде никаких неудобств от этого не испытываю.
ManHunter (08.12.2020 в 10:25):
Так это ж локальные проблемы отдельно взятого компьютера. Ни Win7, ни сами CHM тут не при делах. У меня Wrapper кроме дефолтных ассоциаций забинден в Total Commander на F4 для файлов справки, получилось очень удобно.
brute (08.12.2020 в 10:14):
однажды сбились файловые ассоциации, долго не получалось указать, чем открывать chm(хоть винду переставляй), пришлось реестр спец. прогами чистить:Unassoc и Default Programs Editor и прописывать ключи вручную.. Открывать chm перетаскиванием на HtmlHelp Wrapper неудобно.  Тут SumatraPDF с меню "открыть" и пригодится. И для параноиков он лучше: режет опасные скрипты, не надо ставить "хакерский" софт). Просто "пусть будет", как альтернатива, котороя по умолчанию стоит в системе для открытия pdf/djvu/fb2. К самой проге "HtmlHelp Wrapper" претензий никаких, работает чётко! Я юзаю какой-то старый hh.exe от хр, Html workshop или подобной проги. Может, и твою же ранних версий:  https://yadi.sk/d/iLx2p4ba7Oq77w
ManHunter (08.12.2020 в 09:04):
brute, а можно поподробнее, в чем заключаются пляски? HtmlHelp Wrapper автоматически убирает блокировки скачанных файлов, не требует установки всяких компонентов. А больше никаких неудобств для работы с CHM под Win7 я не встречал. Что ж касается оглавления, так если его в файле изначально не было, значит это не просто так?
brute (08.12.2020 в 08:27):
Win7 открывает chm только после плясок с бубном. Если кому надо "просто посмотреть", то SumatraPDF хорошо их открывает. Поиск только по странице, нет аттачей, зато автоматом делает оглавление.
ManHunter (04.12.2020 в 16:38):
Версия 1.6. Теперь хэндлы открытых окон справок хранятся в общей памяти процессов и переключаются в правильном порядке. Буфер рассчитан на 200 окон, вроде должно хватить под любую возникшую задачу. При реальной необходимости могу пересобрать с увеличенным количеством. Внесены всякие мелкие изменения и улучшения.
ManHunter (08.11.2020 в 20:22):
Да, надо будет сделать через shared-секцию, туда складывать хэндлы открытых окон и последовательность их открытия. Спасибо за замечание.
Павел (08.11.2020 в 20:05):
>> Еще добавил функционал, чтобы при закрытии окна справки автоматически активировалось следующее открытое окно справки. Пока не уверен, насколько это удобно и нужно ли это вообще, надо поработать, поэкспериментировать.

Оказалось, не очень удобно. Закрываешь справку, ожидаешь что попадёшь в предыдущее окно... ан нет, попадаешь не понятно в какое окно справки, открытое даже и не через HtmlHelp Wrapper :(
Nemo (24.09.2020 в 15:04):
>> Дизасм в руки и вперед.
Ahahh

Круто, так тут ещё и каменты доступны под тем же ником, не только чат! Вот так и должно быть на всех сайтах корпораций и в OAuth -__-
ManHunter (08.04.2019 в 11:30):
Версия 1.5. Исправлены все (надеюсь) найденные ранее ошибки, добавлена автоматическая разблокировка файлов справок при их открытии. Прочие мелкие улучшения и дополнения.
ManHunter (13.02.2019 в 11:43):
Еще добавил функционал, чтобы при закрытии окна справки автоматически активировалось следующее открытое окно справки. Пока не уверен, насколько это удобно и нужно ли это вообще, надо поработать, поэкспериментировать.
ManHunter (13.02.2019 в 11:30):
Проблема локализована и исправлена. В следующей версии все заработает как надо.
Павел (12.02.2019 в 20:56):
Предложение.
Если попытаться открыть уже открытый файл, как я понял, программа проверяет эту ситуацию и повторно файл не открывает. Создаётся впечатление, что что-то сбойнуло и файл по какой-то причине вообще не открылся. Предлагаю в подобной ситуации делать активным окно htmlhelp с этим открытым файлом.
Павел (12.02.2019 в 17:19):
Спасибо! У меня нашлось несколько файлов, которые предыдущая версия открывала, но содержимое не показывала. Только собрался написать, а программа уже обновилась и те файлы открываются нормально :)
Wave (23.01.2019 в 16:22):
Спасибо!
ManHunter (23.01.2019 в 15:44):
Я уже переписал враппер без всяких диалогов. Сам с ним поработал и мне понравилось. Так что ждите новую версию. За это время может еще какие-то интересные мысли появятся.
Wave (23.01.2019 в 15:41):
У меня винда не высвечивает никаких предупреждений. Возможно, из-за отключенного UAC. В том-то и проблема, что файл в таких случаях открывается без вопросов, но отображает белый лист вместо страниц хелпа. И нужно ещё вспомнить, что дело в потоках. Потому что когда редко с этой ситуацией сталкиваешься, вспомнить бывает проблематично.
Что касается безопасности, в данном случае это калитка посреди чистого поля. Можно скачать архив, в котором chm запакован безо всяких потоков. Можно ещё миллион способов придумать, из-за которых этот механизм будет бесполезен. В том числе социальных: скачайте этот файл, зайдите в свойства, разблокируйте, после чего запускайте. И это не говоря уже о том, а часто ли вообще встречается какая-то зараза именно в составе chm? Потому что по моим впечатлениям — это Неуловимый Джо.
И да, если что, я либо за безоговорочное открытие, либо за ini с соответствующей настройкой, но не за дополнительный диалог. Хотя учитывая редкость ситуации, дополнительный диалог будет очень редко, так что переживу.
ManHunter (21.01.2019 в 21:28):
Поэкспериментировал. Пожалуй, диалог действительно лишний. Винда при открытии файла и так вываливает свое сообщение безопасности, дублировать его не имеет смысла. При подтверждении открытия файла от винды враппер будет автоматически и молча удалять поток Zone.Identifier.
Евгений (21.01.2019 в 18:04):
Может, сделать маленький ini-файлик, который будет лежать рядышком с исполняемым файлом программки, содержащий одну строчку типа "safemode=1\0" и прогга будет его чекать? Еще и задел будет на другие возможные опции. Просто диалог перед открытием файла, мне кажется, немного раздражающий (особенно при количестве файлов более нескольких).
ManHunter (21.01.2019 в 13:14):
Запилил с диалогом. Если поток Zone.Identifier присутствует и в нем указана недоверенная зона (3 или 4), то выводится предупреждение. В случае получения согласия от пользователя поток будет удален и файл разблокируется. Выложу в следующей версии, надо еще потестировать.
ManHunter (20.01.2019 в 14:44):
Евгений, дык, программа не имеет интерфейса, чтобы галочки где-то ставить. Сделаю диалог подтверждения при открытии файла, это, как мне кажется, будет оптимальным вариантом.
Евгений (19.01.2019 в 00:59):
Дык, а что там думать-то? Сделать галочку в настройках проги типа "включить безопасность или выключить" - кому надо - тот выключит. Не?
ManHunter (17.01.2019 в 16:20):
Wave, у меня была мысль это сделать, но тогда придется удалять этот поток, иначе файл один фиг не откроется. А безопасность сделана же не просто так, хоть в 99,9% случаев это действительно не нужно. Я еще подумаю и окончательное решение оставлю на следующую версию.
Wave (17.01.2019 в 14:13):
А ещё было бы очень неплохо показывать файлы не смотря на наличие в них :Zone.Identifier:$DATA. А то вечно так, скачаешь chm из инета, а он не открывается. И пока не вспомнишь, что надо удалить лишние ntfs-потоки, не откроешь.
ManHunter (16.01.2019 в 11:16):
Версия 1.4. Разобрал по винтикам стандартную виндовую hh.exe, на ее основе скорректировал работу HtmlHelp Wrapper. Теперь все CHM-файлы, которые открывались в стандартном приложении, абсолютно корректно открываются в моей программе, при этом сохраняются все фичи типа закрытия по Esc, поиска по F3 и т.п. Проверяются имена файлов на предмет того, если в имени встречаются комбинации, которые не может открыть виндовый модуль hhctrl.ocx, типа "#", ".col". Выводится сообщение с указанием причины и рекомендации по их устранению. Добавлена декомпиляция CHM-файлов с улучшениями: если целевой папки нет, то она будет создана, ключ декомпиляции можно сокращать до "-d", целевую папку можно не указывать, в этом случае она будет создана на основании имени исходного файла. Исправлены ошибки, выполнена оптимизация кода. Теперь это точно полноценная замена системному hh.exe
Павел (17.09.2018 в 16:38):
Жаль. Пока использую, но буду продолжать искать замену hh (для открытия файлов из FAR-а по ENTER).
ManHunter (17.09.2018 в 16:01):
В HtmlHelp Wrapper через командную строку не откроются внутренние страницы с пробелами, наверняка могут быть еще какие-нибудь ограничения. И пути с юникодом не откроются, даже если добавить их поддержку в саму программу. Увы, тут я уже ничего не сделаю. Полноценной замены hh не получилось, но с нужными мне задачами HtmlHelp Wrapper успешно справляется.
Павел (17.09.2018 в 15:33):
Вот ещё один экземпляр (компилировал через hhc).
https://yadi.sk/d/Yv-eJKQkJvBKVQ
Не отображает содержимое. Обычный hh.exe отображает. Дело, похоже, в имени файла, содержащем в имени ".chm".

Ещё такой момент. Вот здесь https://habr.com/post/54982/ писали, что через hh не открываются файлы, содержащие в пути к файлу последовательность ".col". Обнаружил, что не открываются ещё и файлы, содержащие в пути ".chm". Не открываются как hh так и Вашей htmlhelp.exe. Это как-то решаемо?
ManHunter (14.09.2018 в 12:18):
Потестировал еще на разных файлах, одностраничники должны четко открываться.
Павел (12.09.2018 в 16:57):
Спасибо за доработку. Потестирую.
ManHunter (12.09.2018 в 11:08):
Не все есть онлайн, да и не всегда онлайн-справочники удобнее. Например, мануал по PHP, для которого, собственно, это все и задумывалось, гораздо быстрее открывать именно в оффлайновом варианте.
u-b0at (12.09.2018 в 10:09):
О! CHM-файлы) Давно не открывал их)))
Сейчас вся справочная инфа переместилась в тырнет.
ManHunter (11.09.2018 в 10:36):
Версия 1.3. Исправлена работа с CHM без индексов, при открытых дополнительных окнах (поиск, о программе, url и т.п.) по нажатию Esc закрывается дополнительное окно, а не основное. Поиск в CHM также открывается по F3, а не только по Ctrl+F. Прочие мелкие исправления и дополнения.
Павел (05.09.2018 в 13:01):
К сожалению, у Вас на сайте дата статьи не обновляется. Узнать, что что-то изменилось и выложена новая версия программы можно только специально отслеживая страницу и читая коментарии :(
ManHunter (04.09.2018 в 21:38):
Одностраничники тоже вроде победил, но пока не выкладываю, надо потестить.
ManHunter (03.09.2018 в 14:52):
Поведение Esc поправил, заодно добавил поиск по F3, чтобы меньше нажимать :) Могу еще какую-нибудь дополнительную кнопку или комбинацию на него забиндить. Архив обновлен.

По поводу одностраничника пока обрадовать нечем, штатными способами сделать это не получилось. Надо будет почитать мурзилки по внутреннему формату CHM. Это обязательно будет исправлено, но не быстро.
Павел (03.09.2018 в 12:34):
Вот пример файла https://yadi.sk/d/wwDj9cJh3aoSm6

П.С. А окно поиска, оказывается, с клавиатуры закрыть можно. По Alt-F4 (!). Или через меню Alt-Space. Пока не столкнулся с Вашей программой даже не подозревал об этом :)

Блин, сейчас ещё поэкспериментировал с hhc, гипотеза с "Default topic" не подтвердилась.
ManHunter (03.09.2018 в 12:16):
Павел, по поводу поиска подумаю, что можно сделать. Пожелание абсолютно правильное и разумное. А вот тестовый файл лучше приложить. Собрать самому не проблема, конечно, но для чистоты эксперимента предпочитаю работать с "материалом заказчика" :)
Павел (03.09.2018 в 12:09):
Иногда встречаются chm файлы, содержимое которых не показывается в Вашей программе. Например, chm файлы сгенерированные программой htm2chm из единственного html файла. Эксперимент с компилятором hhc показал, что такое происходит, если в проекте не задать параметр "Default topic". При этом штатный hh.exe, а также sumatrapdf и xchm содержимое таких файлов показывают нормально.

И если можно, маленькое пожелание. То, что программа закрывается по Esc это очень здорово. Но то, что программа закрывается по Esc если открыто окно поиска, вместо ожидаемого закрытия только окна поиска не очень здорово, так как по другому с клавиатуры поиск не закрыть (кроме как мышкой). Нельзя ли это исправить?
ManHunter (12.04.2018 в 18:08):
ЦитатаПрограмма на ассемблере или на c/c++?

Ассемблер

ЦитатаМожно ли глянуть сорцы?

Конечно. Дизасм в руки и в вперед.
trdm (12.04.2018 в 17:44):
Привет. Программа на ассемблере или на c/c++?
Мне хочется сделать нечто подобное для Notepad++ собираю информацию.
Однако мне хотелось бы вытащить *.hhc из *.chm, распарсить, закинуть в дерево и организовать нечто наподобие:
https://github.com/trdm/jn-npp...Doc/vi_2.gif
Скрипт для парсинга уже написал и он строит нечто вроде:
https://github.com/trdm/hlam/b.../NppHelp.gif
Используется IE + frameset + javaScript
К сожалению такое архитектурное решение грешит недостатками и решил переписать на c++.
Можно ли глянуть сорцы?
Vladimir (21.11.2016 в 18:04):
Это самое волшебное, когда программа закрывается по Esc. Этого обычно дико не хватает и потому так ценю софт, где это предусмотрено.
ManHunter (19.11.2016 в 02:19):
Версия 1.2. Справка CHM закрывается по кнопке Esc. Мелкие исправления и доработки.
ManHunter (22.07.2014 в 11:44):
Исправлено поведение программы в режиме замены hh.exe. Архив обновлен, мои благодарности Anonymous.
ManHunter (17.07.2014 в 13:37):
Это винда почему-то передает параметр как есть, без кавычек. Мысль понял, поправлю в следующей версии. Спасибо!
Anonymous (17.07.2014 в 13:26):
Если в Windows 7 (любой разрядности) заменить стандартный hh.exe на HtmlHelp Wrapper, то при двойном щелчке по файлам справки, расположенным по путям, содержащим пробел (например, "C:\Program Files\Total Uninstall\Tu_en.chm"), выдаётся сообщение, что файл справки в устаревшем формате hlp (что, очевидно, бред) и предлагается загрузить просмотрщик HLP-файлов, который тоже делу не помогает. Со стандартным hh.exe всё открывается нормально. Проблема, скорее всего, именно из-за пробелов в пути к файлу, поскольку файлы типа C:\Tu_en.chm открываются враппером нормально.
ManHunter (09.07.2014 в 00:31):
Версия 1.1. Добавлена поддержка .HLP-файлов. Вызов с теми же параметрами, как и для CHM. Теперь через этот враппер у меня прикручен файл справки WIN32.HLP для Ассемблера в Sublime Text.
brute (04.10.2013 в 18:06):
точно! если не занаешь или забываешь, то надо написать шпоргалгу и носить с собой - будет где посмотреть.
ManHunter (04.10.2013 в 12:05):
У нас преподы говорили чуть иначе: "Не надо всего знать, надо знать где можно узнать". Особенно это актуально с нестандартизированным написанием функций PHP.
Андрей (04.10.2013 в 12:00):
Старый полковник говаривал "знания должны быть либо в голове, либо с собой".
ManHunter (01.10.2013 в 08:22):
Предвещая вопрос "зачем это вообще надо?". У меня HtmlHelp Wrapper прикручен через плагин к Sublime Text, и используется для открывания файла справки по функциям PHP.

Добавить комментарий

Заполните форму для добавления комментария
Имя*:
Текст комментария (не более 2000 символов)*:

*Все поля обязательны для заполнения.
Комментарии, содержащие рекламу, ненормативную лексику, оскорбления и т.п., а также флуд и сообщения не по теме, будут удаляться. Нарушителям может быть заблокирован доступ к сайту.
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2024
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.07 сек. / MySQL: 2 (0.0023 сек.) / Память: 4.5 Mb
Наверх