在现代 Windows 应用程序中推荐使用的帮助文件格式是啥?

Posted

技术标签:

【中文标题】在现代 Windows 应用程序中推荐使用的帮助文件格式是啥?【英文标题】:What is the recommended help file format to use in a modern Windows app?在现代 Windows 应用程序中推荐使用的帮助文件格式是什么? 【发布时间】:2012-01-04 23:20:17 【问题描述】:

我正在开发一个 WinForms 应用程序并希望将帮助集成到其中。过去我集成了 .chm 帮助文件。

关于 .chm 文件,Wiki article 声明:

2002 年,Microsoft 宣布了与 .CHM 格式以及安全公告和补丁相关的安全风险。此后,他们宣布不打算进一步开发 .CHM 格式。

据我所知,Microsoft Help 2.x 是 VS 2008 和 Office 2007 中使用的帮助引擎,使用 .hxs 文件扩展名帮助文件。

Office 2010 中使用了什么?推荐使用的帮助文件格式是什么?

更新:

我找到了以下 MSDN 文章,其中包含有关此主题的有用信息:

Application Compatibility: Help Engine Support

【问题讨论】:

希望对您有所帮助:***.com/questions/3077361/… 还有***.com/questions/7056430/chm-format-alternatives 哇,好问题。我对 MS 对第 3 方开发人员集成到系统范围帮助系统的支持如此之少感到震惊。 【参考方案1】:

Sandcastle - http://sandcastle.codeplex.com/ - 被广泛使用。它有多种输出格式,包括生成一个网站,您可以为您的应用程序用户公开或私下托管该网站,让您可以根据需要进行更新,而无需单独向所有用户推出新的帮助文件。

您还可以使用 Sandcastle 生成与 Windows 内置的 MS 帮助文件查看器集成的文件。我不知道这是否是“官方”最好的方法,但效果很好。

对 Sandcastle 的唯一警告是它有一点学习曲线。

也感兴趣:http://en.wikipedia.org/wiki/Microsoft_Assistance_Markup_Language。 MAML 定义了一个通用模式,用于描述非常广泛的帮助/文档场景。 MAML 允许您记录最终用户功能以及 API 级任务。根据您的受众,这可能具有重要价值。 Sandcastle 包含许多 MAML 模板。

【讨论】:

那是API文档;听起来他想要最终用户文档。 @SLaks - “MAML 创作结构分为与内容类型相关的部分:概念、常见问题解答、词汇表、过程、参考、可重用内容、任务、故障排除和教程。”您可以使用 MAML 和 Sandcastle 构建非常好的最终用户文档。对于最终用户文档,当然可能有更好的工具,但是您可以使用 MAML 创建与代码无关的结构化文章。与自动生成的 API 文档不同,您必须手动创建这些文章,因此可能很耗时,并且需要具备基本的标记知识。 这不是说您可以使用任何 html 创作工具来创建几种 html 帮助格式吗?涉及大量的手工工作。由于创作工具并不真正反映应用程序帮助结构,而仅用于其标记编辑器 @MarcovandeVoort - MAML 旨在表示帮助文件数据,因此它在语义上比 HTML 更具体。 Sandcastle 将导航和链接管理等大部分“管道”自动化;它还允许您定义构建块,然后创建几种完全不同的输出格式。但缺少的是一个好的 WYSIWYG MAML 编辑器。我还没有找到一个。我很想知道是否存在。【参考方案2】:

推荐的可能是协助平台客户端 (HelpPane.exe),扩展名为 .h1s,这是 Vista 和 W7 的默认支持,最近的 Office 版本也支持

Afaik h2s(现在是 html3)仅由 VS 支持。

但是由于 Assistance Platform 是 VIsta+,如果你还需要支持 XP,你就卡在 CHM 上

【讨论】:

来自帮助窗格 API 概述:“帮助窗格 API 只能用于显示 Windows 帮助内容集。它...不能被第三方程序使用。”

以上是关于在现代 Windows 应用程序中推荐使用的帮助文件格式是啥?的主要内容,如果未能解决你的问题,请参考以下文章

bi工具推荐,国内主流BI工具

202031604107-米乐文 实验一 软件工程准备—对软件工程的初步认识

推荐书籍:《Java性能调优指南》

如何在 Windows 8 现代应用程序上从视频流中抓取帧?

还在用Xshell?你out了,推荐一个更现代的终端连接工具

还在用Xshell?你out了,推荐一个更现代的终端连接工具