Мне нужна помощь, у меня есть файлы .hlp
, и я хочу преобразовать их в файлы .chm
, так как файлы .hlp
не работают в Windows 10.
Как я могу это сделать?
Мне нужна помощь, у меня есть файлы .hlp
, и я хочу преобразовать их в файлы .chm
, так как файлы .hlp
не работают в Windows 10.
Как я могу это сделать?
Я вижу два или более решений в зависимости от ваших требований:
Преобразование WinHelp (HLP) в HTMLHelp (CHM):
Учебное пособие на моем сайте дает пошаговое описание того, как преобразовать WinHelp (HLP) в HTMLHelp (CHM) на бесплатном / условно-бесплатном и «малобюджетном» уровне. Пример проекта преобразования из раздела загрузки включает в себя рабочую структуру и файлы примеров.
Конечно, вы можете использовать инструмент для создания справки (HAT), например Help+Manual, HelpScribble или любой другой HAT для преобразования существующих проектов WinHelp в HTMLHelp.
Запустите WinHelp в Windows 10:
Формат WinHelp (.hlp) существует с самого начала 1990-х годов и заменен HTML Help 1.x (.chm). Microsoft настоятельно рекомендует отказаться от WinHelp около десяти лет назад. Но для тестового приложения он работает на моей машине с Windows 10 как шарм.
Но некоторые тяжелые шаги по исправлению ушедшего WinHelp Viewer. Обратите внимание, что здесь я не говорю о средстве просмотра HTMLHelp для файлов справки *.chm.
Выполнение шагов решения зависит от вашей версии Windows 10 (32-разрядная или 64-разрядная). Чтобы узнать тип вашей системы (32-разрядная или 64-разрядная), нажмите и удерживайте Windows+R. Введите msinfo32
в появившемся диалоговом окне «Выполнить» и нажмите Enter.
Вы знаете, что попытка открыть файл справки (*.hlp) приводит к появлению страницы поддержки Microsoft.Ошибка при открытии справки в программах для Windows: "Функция не включена" или "Справка не поддерживается" а>.
Вы найдете ссылку для загрузки для Windows 8.1, но для Windows 10 вам нужно установить ее особым образом (Windows8.1-KB917607-x64.msu).
Извлеките загруженный файл .msu во временный каталог.
md msu-extracted
expand Windows8.1-KB917607-x64.msu /f:* .\msu-extracted
Извлеките содержащийся CAB-файл с 279 файлами.
cd msu-extracted
md cab-extracted
expand Windows8.1-KB917607-x64.cab /f:* .\cab-extracted
В зависимости от ваших языковых настроек найдите соответствующий MUI-файл, например. используйте "cs-", "de-" или "en-". Людям, использующим вариант x86, необходимо запустить «dir x86*de-*».
cd cab-extracted
Перейдите по указанному пути для вашего языка "... de-de ...", например:
cd amd64_microsoft-windows-winhstb.resources_31bf3856ad364e35_6.3.9600.20470_de-de_1ab8cd412c1028d0
Здесь мы найдем «winhlp32.exe.mui». Теперь нам нужно заменить, например. %SystemRoot%\de-de\winhlp32.exe.mui с нашим новым файлом:
takeown /f "%SystemRoot%\de-de\winhlp32.exe.mui"
icacls "%SystemRoot%\de-de\winhlp32.exe.mui" /grant "%UserName%":f
ren %SystemRoot%\de-de\winhlp32.exe.mui winhlp32.exe.mui.w10
copy winhlp32.exe.mui %SystemRoot%\de-de\winhlp32.exe.mui
takeown /f "%SystemRoot%\winhlp32.exe"
icacls "%SystemRoot%\winhlp32.exe" /grant "%UserName%":f
ren %SystemRoot%\winhlp32.exe winhlp32.exe.w10
cd ..
dir *.exe /s
Найдите правильный путь, начинающийся с amd64 или x86, и перейдите к нему:
cd "amd64_microsoft-windows-winhstb_31bf3856ad364e35_6.3.9600.20470_none_1a54d9f2f676f6c2"
copy winhlp32.exe %SystemRoot%\winhlp32.exe
Изменить:
Вам не нужно заменять _none_
в последнем командном шаге cd
(все отдельные шаги протестированы 1 сентября 2017 г. и 24 августа 2018 г. и работают в Windows 10).
Существует сброс обходного пути, описанного выше, после основного обновления Microsoft Windows.
Изменить: (скопированные комментарии формы, спасибо @dxiv)
Альтернативой последним двум шагам является полное копирование файлов winHlp32 в другое место, например C:\etc[\de-de], а затем повторное связывание ftype hlpfile=C:\etc\winHlp32 %1 в командной строке с повышенными привилегиями. Это позволяет избежать конфликтов с sfc и будущими обновлениями Windows, а HLP по-прежнему будут работать при открытии по ассоциации (двойной щелчок в проводнике или запуск old.hlp в командной строке cmd).
C:\etc[\de-de]
, а затем повторное связывание ftype hlpfile=C:\etc\winHlp32 %1
в командной строке с повышенными привилегиями. Это позволяет избежать конфликтов с sfc и будущими обновлениями Windows, а HLP по-прежнему будут работать при открытии по ассоциации (двойной щелчок в проводнике или start old.hlp
в командной строке cmd).
- person dxiv; 28.04.2019
winhlp32.exe
из папки amd64_microsoft-windows-winhstb_31bf3856ad364e35_6.3.9600.20470_none_1a54d9f2f676f6c2
в архиве Windows8.1-KB917607-x64.msu
и в соответствии с инструкциями @dxiv попытался выполнить его из выделенного каталога, однако я получаю (9009)
только при открытии .exe или двойном щелчке по файлу .hlp на моем x64. Машина с виндовс 10. Никаких замен системных файлов не делал.
- person sp00n; 27.03.2021
.exe
недостаточно, вам нужны и другие файлы .dll
и .mui
из пакета. Это согласуется с ошибкой 9009, которую вы видите, что означает, что файл не найден.
- person dxiv; 28.03.2021
.mui
и .dll
находятся в том же каталоге, что и winhlp32.exe
, но, как уже упоминалось, я не делал никаких замен системных файлов. Я надеялся, что этого будет достаточно для выполнения программы.
- person sp00n; 29.03.2021
.mui
помещаются в подкаталог, названный в честь локали, например. en-us
в моем случае. Этого достаточно для запуска exe
, проверено под Win7 и Win10. Чтобы открывать файлы справки по ассоциации, вам также необходимо связать .hlp
файлов с этим экземпляром winHlp32
.
- person dxiv; 29.03.2021
.mui
в подпапку с локалью!
- person sp00n; 29.03.2021
Народ, после долгих поисков я пришел к следующему выводу: файлы .HLP не могут запускаться в Windows 8 и 10, только в Windows 7 и ниже. Файлы .CHM могут выполняться в Windows 8 и Windows 10. Итак, мне пришлось создать новый файл .chm в Help Development Studio в Windows 10 для его выполнения. Мои старые файлы .HLP устарели. Это заняло так много времени, но я так много узнал об этом типе файлов. Наконец, спасибо за ваш вклад в мой вопрос.
Вы можете конвертировать HLP в HTML с помощью расширения Chrome: ‹‹ CHM, HLP Viewer и Extractor ›› Предложено: https://ehubsoft.herokuapp.com/chmviewer
Вы герой, сэр! В итоге я использовал HelpScribble и использовал связанный с ним декомпилятор здесь.
Цитирую их сайт:
Если у вас есть существующий файл WinHelp без исходных файлов HPJ и RTF, вы можете загрузить декомпилятор WinHelp для воссоздания источников HPJ и RTF из файла HLP. Извлеките файлы внутри helpdc21.zip в новую папку. Затем вы можете легко декомпилировать любой файл .hlp из командной строки, введя:
helpdeco helpfile.hlp
где helpfile.hlp — это файл справки, который вы хотите декомпилировать. Декомпилятор сгенерирует файлы HPJ и RTF, а также серию растровых файлов, если файл справки содержит изображения. Используйте Project|Import Help Project в HelpScribble, чтобы импортировать файл справки.
Это позволит извлечь исходные файлы для файла hlp
.
Наконец, просто импортируйте получившийся файл hpj
в HelpScribble. Оттуда вы можете просто экспортировать в html-файл с помощью параметра Создать плоский вручную.
Бум. Сделанный.