我一直试图将一个大型WinHelp项目转换为HtmlHelp,以便与我的MFC应用程序一起使用。
但是,我发现,在我的应用程序中调用许多上下文中的帮助会产生完全没有帮助的错误消息。
没能提供帮助。
看来,如果我将相应的条目添加到[ALIAS]部分,那么它就能工作了。
[ALIAS]
HID_FILE_OPEN=Html\HID_FILE_OPEN.htm我的问题是,我真的需要对每一个话题都这样做吗?使用WinHelp,我必须添加到[ALIAS]部分的唯一条目是那些我希望成为其他内容的别名的主题。
如果没有我为每个主题显式地输入帮助文件Html\HID_FILE_OPEN.htm,那么Help就不可能知道它对应于帮助文件Html\HID_FILE_OPEN.htm吗?
发布于 2017-09-29 09:27:18
短故事-你必须清理映射数据文件的上下文敏感的帮助。请测试以下信息,以满足您的需要和环境。
这两个文件(如alias.h和map.h )的目的是简化开发人员和帮助作者之间的协调。映射文件将ID链接到映射号--通常这可以由开发人员轻松创建并传递给帮助作者。然后,帮助作者创建一个别名文件,将ID链接到主题名称。这是拉尔夫·沃尔登(前微软公司)几十年前的想法。
您可以在为应用程序创建上下文敏感帮助找到更多的信息。
您知道--将WinHelp转换为HTMLHelp是很费时的。而迁移上下文ID是有问题的。实际上,我没有与WinHelp连接的旧MFC或VB项目来进行测试。
可以使用CHM文件的主页,例如welcome.htm作为所有上下文ID的一个目标,方法是在alias.h和map.h中正确地使用它。
但是,我记得HHPmod工具。我从我的教程将WinHelp (HLP)转换为HTMLHelp (CHM)链接到它。
这是Sid编写的一个工具,用于帮助人们将WinHelp项目转换为HTMLHelp项目。他使用了HTMLHelp工作室提供的自动转换,但是当他编辑新的HTMLHelp来完成转换中没有完成的任务时,存在一些问题:
HHPMod将转换后的项目重写为新的HTML项目,恢复原始主题ID名称,更正所有链接,并重写别名文件。新的HTML项目编译后,将正确链接到应用程序的帮助上下文ID。您仍然必须修复丢失的图像和热点,但您将使用原始的主题ID名称。
请从下载部分查看关于“修复”从WinHelp项目创建的HTML的说明。向下滚动到例如手动重写项目中的地图和别名数据。
https://stackoverflow.com/questions/46479873
复制相似问题