简介:HTML Help Workshop 汉化版面向需要制作 CHM 帮助文档的中文用户,尤其是软件开发者、技术写手与文档维护人员。原版为微软官方英文工具,汉化后提供全中文界面,降低了国内用户学习与操作门槛,可用于编写 HTML 页面、创建关键词索引、组织项目资源、预览效果并最终编译成体积小、加载快且支持搜索的 CHM 文件。资源包共 4 个文件,以 txt 说明文档、html 页面和 exe 安装程序为主,压缩包约 3.34MB,其中汉化说明与汉化新世纪文本记录了汉化过程及使用注意事项,html 文件保留了发布页面的版本与下载信息,exe 为可安装的汉化主程序。目前已有 941 人学习下载,适合希望快速上手 CHM 制作、了解汉化版安装与使用细节的读者参考。
1. 从一次 CHM 编译翻车说起:为什么我还在用 HTML Help Workshop 汉化版
上个月帮一个做内部工具文档的朋友处理一个老项目的帮助文件,他扔过来一个.hhp工程,说用新版工具打开就报错,编译出来的 CHM 目录树全是乱码。我第一反应是编码问题,折腾了半天才发现,他用的那个所谓“新版”其实是个套壳编辑器,底层调的还是老引擎,对中文路径和 GBK 编码的支持一塌糊涂。最后换回 HTML Help Workshop 汉化版,十分钟搞定。这事让我意识到,有些工具虽然年纪大,但在特定场景下依然是刚需——尤其是你要编译纯中文的 CHM 帮助文档时,原版英文界面加上对中文字符集的微妙处理,很容易让人在配置环节就卡住。HTML Help Workshop 汉化版就是针对这个痛点来的:界面菜单、对话框、报错信息全部中文化,工程文件里的语言设置、字体映射、目录层级这些参数,对着中文提示改,比对着英文猜要踏实得多。这篇文章适合两类人:一是手头有老项目需要维护 CHM 文档的开发者,二是刚接触帮助文件制作、被英文界面劝退的新手。我会把环境要求、安装步骤、工程配置、编译验证和常见报错处理按顺序拆开,你照着走一遍,至少能少踩我当年踩过的坑。
2. 装前环境核对:版本、系统组件与依赖清单
2.1 版本选择与系统兼容性对照
HTML Help Workshop 汉化版并不是一个独立的新软件,它是在微软原版 HTML Help Workshop 4.74 基础上做的界面汉化。原版 4.74 是最后一个支持完整 CHM 编译功能的版本,后续微软把重心转向了别的文档格式,这个工具就停更了。所以你能找到的汉化版,底层版本号基本都是 4.74。这里有个版本坑:网上有些标着“5.0”或者“2023 重制版”的包,其实是把原版安装文件重新打包,或者只汉化了主程序没汉化编译器hhc.exe,装完你会发现菜单是中文的,但编译报错还是英文,甚至因为打包者替换了不匹配的itcc.dll导致编译直接崩溃。我一般只认文件版本里明确写着 4.74 的汉化包,安装前右键看属性,确认hhw.exe和hhc.exe的版本号一致。
系统兼容性方面,这个工具原生是 32 位程序,在 Windows 7、Windows 10、Windows 11 上都能跑,但 Windows 10 之后的系统默认开启的“受控文件夹访问”或者杀毒软件的启发式扫描,可能会拦截hhc.exe生成 CHM 的动作,因为 CHM 编译过程涉及文件压缩和写入。常见做法是安装前把工具目录加入杀毒软件白名单,或者临时关闭实时防护。另外,如果你在 64 位系统上装,安装程序会默认释放到C:\Program Files (x86)\HTML Help Workshop,这个路径没问题,但后续在工程里引用图片或 CSS 时,尽量用相对路径,别用带空格的绝对路径,否则编译器解析路径时容易出玄学错误。
| 项目 | 要求 | 说明 |
|---|---|---|
| 操作系统 | Windows 7 / 10 / 11(32 或 64 位) | 不支持 macOS 和 Linux 原生运行 |
| 底层版本 | HTML Help Workshop 4.74 | 汉化版基于此版本,版本号不一致的包慎用 |
| 必要组件 | Internet Explorer 核心组件 | CHM 查看器依赖,Win10/11 仍保留 |
| 磁盘空间 | 约 15 MB | 安装后占用很小 |
| 权限 | 管理员权限 | 安装和注册组件需要 |
2.2 安装前必须检查的三个系统组件
第一个是hh.exe,这是 CHM 查看器,系统自带,但有些精简版系统会把它删掉。检查方法很简单,按 Win+R 输入hh回车,如果能弹出“HTML Help 查看器”窗口就正常,报错找不到文件就得先补这个组件。第二个是itcc.dll,这是 HTML Help 的编译器核心库,原版安装程序会自动注册它,但如果你之前装过其他版本的 Workshop 或者手动删过系统目录里的 DLL,可能会残留旧版本导致冲突。我一般会在安装前用regsvr32 /u itcc.dll先反注册一下(如果提示找不到模块就跳过),装完汉化版后再确认C:\Windows\System32下的itcc.dll日期是新的。第三个是hha.dll,负责弹出帮助窗口的控件,一般不会出问题,但如果你的工程里用了HH_ALINK_LOOKUP或者HH_GET_WIN_TYPE这类高级调用,这个 DLL 的版本会影响编译结果。
提示:如果你之前装过英文原版,建议先通过控制面板卸载,并手动删除安装目录残留的
hhw.exe、hhc.exe和hhp文件,避免汉化版覆盖安装时文件版本混乱。
2.3 汉化包完整性校验与解压注意事项
下载下来的汉化包通常是一个压缩文件,里面包含setup.exe、hhw.exe、hhc.exe、itcc.dll以及一个汉化说明.txt。解压时注意两点:一是不要用 Windows 自带的解压工具直接双击运行,先解压到英文路径的文件夹,比如D:\HHW_CN,路径里不要有中文和空格,否则安装程序释放临时文件时可能报“找不到路径”。二是解压后核对文件数量,一个完整的汉化包至少应该有 8 到 10 个文件,如果只有三四个,那可能是只替换了主程序的精简版,编译功能大概率不全。我习惯在解压后先对hhc.exe右键看属性,确认“文件版本”是 4.74.8702.0,这个版本号是原版 4.74 的典型编译版本,汉化版不会改这个数字,如果显示的是其他版本,说明底层被换过,编译出来的 CHM 可能在旧系统上打不开。
3. 安装与初始配置:从释放文件到中文界面生效
3.1 执行安装程序与路径选择
解压完成后,右键setup.exe选择“以管理员身份运行”。安装向导第一步是欢迎界面,汉化版这里已经显示中文,直接点“下一步”。第二步是许可协议,勾选“接受协议”继续。第三步是选择安装路径,默认是C:\Program Files (x86)\HTML Help Workshop,我建议保持默认,因为后续很多教程和脚本引用的都是这个路径,改了反而容易在注册表关联上出问题。如果你 C 盘空间紧张,可以改到 D 盘,但路径里不要出现中文,比如D:\HTMLHelpCN可以,D:\帮助文档工具就不行。第四步是选择安装类型,选“典型安装”即可,它会同时安装主程序、编译器、查看器和示例工程。第五步是开始菜单文件夹,默认“HTML Help Workshop”就行,点“安装”按钮,进度条走完大概十几秒。
安装完成后,安装程序会弹出一个“是否立即注册组件”的对话框,这里一定要选“是”,它会自动调用regsvr32注册itcc.dll和hha.dll。如果这一步你点了“否”,后面编译 CHM 时会报“编译器未正确初始化”的错误,到时候还得手动补注册,比较麻烦。注册成功后,桌面和开始菜单会出现“HTML Help Workshop 汉化版”的快捷方式,先别急着打开,我们还要做一步兼容性设置。
3.2 兼容性设置与管理员权限固化
在 Windows 10 和 11 上,这个老程序直接双击打开可能会因为 UAC 弹窗导致界面卡住,或者编译时因为权限不足无法写入输出目录。我一般会右键快捷方式 → 属性 → 兼容性,勾选“以管理员身份运行此程序”,同时点击“更改高 DPI 设置”,勾选“替代高 DPI 缩放行为”,缩放执行选“系统(增强)”。这样做的原因是:汉化版的对话框控件是基于旧版 MFC 写的,在高分屏上如果不做 DPI 替代,按钮和文字会挤在一起,看不清“编译”和“取消”的区别。另外,如果你用的是 4K 显示器,建议把系统缩放调到 150% 以下,否则工程属性页里的输入框会变得特别小。
注意:勾选“以管理员身份运行”后,每次打开都会弹 UAC 确认框,这是正常的。如果你觉得烦,可以用任务计划程序创建一个以最高权限运行的任务,但普通使用场景下没必要折腾。
3.3 首次启动后的中文界面验证与语言设置
双击桌面图标启动,如果界面菜单显示的是“文件”“编辑”“视图”“项目”“编译”“窗口”“帮助”,说明汉化生效了。如果还是英文,检查安装目录下是否有hhw.exe和hhw.chm两个文件,汉化版通常会把英文语言资源替换掉,如果只替换了主程序没替换资源文件,菜单可能还是英文。这时候可以手动把汉化包里的hhw.exe复制到安装目录覆盖,再重启程序。
启动后第一件事是设置默认语言。点击菜单“项目” → “属性”,在弹出的对话框里找到“语言”选项卡,选择“中文(简体,中国)”,字符集选“GB2312”。这一步很关键,它决定了编译器生成 CHM 时索引和目录的编码方式。如果你选了“UTF-8”,编译出来的 CHM 在部分旧版 Windows 上打开会乱码,因为 CHM 查看器默认按系统区域设置解析编码。我一般还会在“编译器”选项卡里把“输出文件”的扩展名确认为.chm,并勾选“编译时显示进度信息”,这样编译过程中能看到每一步在做什么,出错了也好定位。
4. 工程配置与编译参数:让 CHM 正确输出中文
4.1 新建工程与导入现有 .hhp 文件
点击“文件” → “新建”,选择“项目”,向导会问你是要新建一个工程还是导入现有的.hhp文件。如果你手头已经有.hhp,直接选“导入”,然后浏览到文件位置。导入时注意:如果原工程是用英文版创建的,里面的Language=字段可能是0x409(英文),导入后要在“项目属性”里改成0x804(简体中文),否则编译出来的目录树标题会显示成英文的“Contents”而不是“目录”。新建工程的话,向导会让你指定工程文件名和存储路径,同样建议用英文路径,比如D:\Projects\HelpDoc,工程名用MyHelp.hhp。
新建完成后,主界面左侧会出现“项目”选项卡,里面列出了[OPTIONS]、[FILES]、[ALIAS]、[MAP]等节。[OPTIONS]里最重要的是Compiled file和Contents file两个字段。Compiled file指定输出的 CHM 文件名,比如MyHelp.chm;Contents file指定目录文件,通常是.hhc文件。如果你没有现成的.hhc,可以点“目录”选项卡手动创建,或者用工具从 HTML 文件自动生成。
4.2 配置 [OPTIONS] 节的关键参数
在“项目”选项卡里双击[OPTIONS],或者右键选“属性”,会打开一个参数列表。这里我列几个必须改的:
[OPTIONS] Binary TOC=Yes Binary Index=Yes Compiled file=MyHelp.chm Contents file=MyHelp.hhc Index file=MyHelp.hhk Default topic=index.html Display compile progress=Yes Full-text search=Yes Language=0x804 Chinese (Simplified, China) Title=我的帮助文档逐条说明:Binary TOC=Yes和Binary Index=Yes让目录和索引以二进制形式编译,加载速度更快,但如果你后续要手动编辑.hhc文件,建议先设为No,等调试完再改回来。Compiled file是输出文件名,不要带路径,编译器会把它放在工程文件同目录。Default topic是打开 CHM 时默认显示的页面,必须是一个已经在[FILES]里列出的 HTML 文件。Language=0x804是简体中文的语言代码,这个值直接决定 CHM 内部字符串的编码,写错了就会乱码。Title是 CHM 窗口标题栏显示的文字,支持中文。
提示:如果你在
[OPTIONS]里改了Language但编译后目录还是乱码,检查一下.hhc文件本身的编码。用记事本打开.hhc,另存为时选择“ANSI”编码,不要选“UTF-8”。因为hhc.exe编译器默认按 ANSI 读取.hhc文件,UTF-8 带 BOM 的话会在文件头插入不可见字符,导致目录树解析失败。
4.3 添加 HTML 文件与目录层级设置
在“项目”选项卡里点击[FILES],然后点“添加”按钮,把你要打包的 HTML 文件、CSS、图片全部加进来。注意:图片和 CSS 不需要手动加到[FILES]里,编译器会自动根据 HTML 里的引用关系打包,但前提是引用路径必须是相对路径。如果你用了background="C:\images\bg.jpg"这种绝对路径,编译出来的 CHM 在别人电脑上打开就会缺图。我一般会在工程根目录下建一个images文件夹,HTML 里写src="images/logo.png",这样最稳妥。
目录层级在“目录”选项卡里设置。点击“插入标题”可以添加一级目录,选中标题后点“插入页面”可以添加子页面。每个页面需要指定“名称”(显示在目录树里的文字)和“文件”(对应的 HTML 文件)。如果你有几十个页面,手动加很累,可以用“自动生成目录”功能,但自动生成的层级通常很平,需要手动调整。调整时注意:目录树的缩进层级不要超过三级,太深了在 CHM 窗口里显示不全,用户得横向滚动才能看到,体验很差。
4.4 编译输出与错误日志解读
配置完成后,点击工具栏上的“编译”按钮(图标是一个小锤子),或者按 F5。编译过程中底部会显示进度信息,如果一切正常,最后一行会显示“编译完成,0 个错误,0 个警告”。如果报错,常见的有这几类:
HHC5003: Error: While compiling...后面跟着文件名,通常是 HTML 文件里有未闭合的标签或者引用了不存在的图片。解决办法是用浏览器打开那个 HTML 确认显示正常,再检查图片路径。HHC5010: Error: Cannot open...一般是.hhc或.hhk文件被其他程序占用,或者路径里有中文。关掉可能占用文件的编辑器,把工程移到纯英文路径下重试。HHC3004: Warning: The file...警告通常不影响编译,但最好处理掉,比如某个 HTML 文件没有被任何目录引用,编译器会提示“文件未包含在目录中”,你可以选择忽略或者把它加到目录里。
编译成功后,在工程目录下会生成.chm文件,双击就能打开查看效果。如果打开后目录树是空的,检查[OPTIONS]里的Contents file是否指向了正确的.hhc文件,以及该文件是否真的存在。
5. 避坑与排查:汉化版安装配置中最容易翻车的五件事
5.1 编译报错“itcc.dll 未注册”或“编译器初始化失败”
现象:点击编译后,底部直接红字报错,提示Cannot load itcc.dll或者Compiler not initialized。原因通常是安装时没有勾选“注册组件”,或者系统里存在多个版本的itcc.dll导致注册表指向了错误路径。解决方法是手动注册:以管理员身份打开命令提示符,输入regsvr32 "C:\Program Files (x86)\HTML Help Workshop\itcc.dll",回车后如果弹出“DllRegisterServer 成功”就说明注册好了。如果还不行,检查C:\Windows\System32下是否有一个旧的itcc.dll,有的话先重命名为itcc.dll.bak,再重新注册安装目录下的那个。
5.2 中文目录或文件名导致编译中断
现象:编译到一半突然停止,日志里显示某个文件“找不到”或“无法打开”,但文件明明存在。原因就是路径里带了中文,比如D:\我的文档\帮助工程\index.html。hhc.exe是 32 位程序,对 Unicode 路径的支持不完整,遇到中文路径时可能解析失败。解决办法很简单:把整个工程移到纯英文路径下,比如D:\Work\HelpProject,所有文件名也改成英文。如果 HTML 内容里必须显示中文,那没问题,只是文件名和路径不要用中文。
5.3 编译出的 CHM 打开后目录乱码或显示问号
现象:CHM 能打开,但左侧目录树里的文字全是乱码或者问号。原因有两个:一是[OPTIONS]里的Language没设成0x804,二是.hhc文件保存成了 UTF-8 编码。解决方法是先确认Language=0x804 Chinese (Simplified, China),然后用记事本打开.hhc文件,另存为时编码选“ANSI”,保存后重新编译。如果还是乱码,检查系统区域设置里“非 Unicode 程序的语言”是否设成了“中文(简体,中国)”,有些英文系统默认是“英语(美国)”,会导致 CHM 查看器按错误编码解析。
5.4 杀毒软件误删 hhc.exe 或拦截编译进程
现象:安装完汉化版后,双击图标没反应,或者编译到一半杀毒软件弹窗说“发现威胁”。原因是hhc.exe的行为特征(压缩文件、写入可执行内容)容易被启发式引擎误判。解决办法是把安装目录加入杀毒软件的白名单,或者临时关闭实时防护再编译。如果hhc.exe已经被删了,从汉化包里重新复制一份过去,再恢复白名单。我一般会在装完后先手动扫描一次安装目录,确认没有误报再开始用。
5.5 高 DPI 屏幕下界面错位导致按钮点不到
现象:在 4K 显示器上打开,对话框里的“确定”“取消”按钮重叠在一起,或者工程属性页的输入框只显示一半。原因是程序没有声明 DPI 感知,系统强制缩放后控件位置计算错误。解决办法是右键快捷方式 → 属性 → 兼容性 → 更改高 DPI 设置 → 勾选“替代高 DPI 缩放行为”,缩放执行选“系统(增强)”。如果还是错位,把系统缩放临时调到 100%,配置完工程再调回去。这个坑在笔记本外接 4K 显示器时特别常见,我至少遇到过三次。
6. 装完怎么验证跑通:从编译到跨机打开的完整检查
装完配置好,别急着关掉工程。我一般会走一遍完整的验证流程,确保这个 CHM 拿到别的电脑上也能正常打开。第一步,在工程目录下找到生成的.chm文件,双击打开,看左侧目录树是否正常显示中文,点击几个页面看内容是否完整,图片是否加载。第二步,按 Ctrl+F 打开搜索面板,输入一个中文关键词,看全文搜索是否能命中。这一步能验证Full-text search=Yes是否生效,以及索引文件.hhk是否编译正确。第三步,把.chm文件复制到一个没有安装 HTML Help Workshop 的电脑上(或者虚拟机里),双击打开。如果提示“无法打开文件”或者“导航到网页已取消”,说明 CHM 里引用了外部绝对路径的资源,或者Default topic设置了一个不存在的文件。第四步,在另一台电脑上检查 CHM 属性里的“语言”是否显示为中文,如果显示英文,说明Language参数没生效,需要回到工程属性里重新确认。
这里有个小技巧:编译完成后,用hh.exe -decompile命令把 CHM 反编译回 HTML 文件,对比一下源文件和反编译出来的文件是否一致。命令是:
hh.exe -decompile D:\output D:\Projects\HelpDoc\MyHelp.chm-decompile后面跟两个参数,第一个是输出目录,第二个是 CHM 文件路径。反编译后打开输出目录,看看图片和 CSS 是否都在,HTML 内容有没有被截断。如果反编译出来的文件比源文件少,说明编译时有些文件没被打包进去,通常是[FILES]里漏加了,或者 HTML 里的引用路径写错了。这个检查方法我用了很多年,比单纯双击打开 CHM 要可靠得多,因为有些资源缺失在 CHM 查看器里不会立刻报错,但用户点到那个页面就会看到空白。
最后一步,把 CHM 文件放到一个带空格和中文的路径下,比如D:\测试 文档\MyHelp.chm,再双击打开。如果正常,说明 CHM 内部没有硬编码路径依赖,可以放心分发了。如果打不开,检查编译时Compiled file是否用了绝对路径,改回相对路径重新编译。从那以后我每次编译完 CHM,都会强制走一遍“反编译对比 + 跨机打开 + 中文路径测试”这三步,宁可多花五分钟,也不想让用户打开文档时看到一片空白。希望帮到你。
本文还有配套的精品资源,点击获取