首页 / 知识
关于语言不可知论:Windows 帮助文件 – 有哪些选项?
2023-04-11 14:37:00

Windows Help files - what are the options?在过去,帮助不是微不足道的,而是可能的:生成一些带有特殊标签的时髦 .rtf 文件,通过编译器运行它,你会得到一个运行良好的 WinHelp 文件 (.hlp)。 然后,微软认为 WinHelp 不再时髦和酷,并转而使用 CHM,直到他们实际上从 Vista 中删除了 WinHelp。 现在,CHM 可能不错,但每个尝试在网络上打开 .chm 文件的人都会知道由安全限制引起的漂亮的"网页导航已取消"屏幕。 虽然有一些方法可以使 CHM 脱离网络工作,但这并不是一个好的选择,因为当用户按下帮助按钮时,他需要帮助,而不必进行一些时髦的设置。 底线:我发现 CHM 绝对无法使用。但是由于 WinHelp 也不再是一个选项,我想知道有什么替代方案,尤其是在与我的应用程序集成时(即对于 WinHelp 和 CHM,有一些功能可以让您直接跳转到某个主题)? PDF 的缺点是需要 Adob??e Reader(或者是没有多少人使用的更轻量级的阅读器之一)。我可以接受这种观点,因为这是当今的一种标准,但你能告诉它可靠地跳转到给定的页面/锚点吗? HTML 文件似乎是最好的选择,然后你只需要处理不同的浏览器(CSS 和其他东西)。 编辑:我希望创建自己的帮助文件。由于我是"无需设置,只需提取并运行"理念的粉丝,我过去曾多次遇到过这个问题,因为我的许多用户会从网络上运行它,这正是导致这个问题的原因。 因此,我正在寻找一种更强大且面向未来的方式来为我的用户提供帮助,而无需为我制作的每个应用程序编写不同的帮助系统。 CHM 是一种非常好的格式,但是 Security Stuff 使它无法使用,因为帮助系统应该为用户提供帮助,而不是产生更多问题。 HTML 将是下一个最佳选择,只有当您从公共网络服务器提供它们时。如果您尝试将其与您的应用程序捆绑在一起,那么所有文件(和图像(和样式表(和...)))都会使 CHM 看起来像是来自上帝的礼物。 也就是说,当实际捆绑在安装包中时(而不是通过网络提供服务),我发现 CHM 文件运行良好。 OTOH,关于 CHM 文件的另一个陷阱:即使您尝试打开本地磁盘上的 CHM 文件,如果您最初从某个地方下载它,您也可能会遇到安全块,因为该文件可能被标记为"来了"从外部来源"获得时。 我不喜欢 html 选项,实际上是通过压缩和索引它们从纯 HTML 转移到 CHM。甚至在少数非 Windows 客户上使用它们。 然后我什至不包括开始"纠正"它们的人、具有错误"集成"尝试等的第 3 方产品、抱怨缓慢(浏览器启动) 随着操作系统和硬件的改进,我们都等了好几年,直到问题消失,但问题不断出现,种类繁多,足够了。我们找到了 chmlib,并决定如果操作系统提供的那些停止工作并切换,我们可以永远使用基于此的东西作为简单的外部阅读器的转义。 同时我们也有自己的编译器,所以我们是免费的,面向未来。这并不意味着我们永远不会改变(使用本地网络服务器的解决方案现在似乎最受欢迎),但至少我们有一个选择。 这取决于将在线文档导入到您的产品中的方式,一个好的文档基础架构可能很难建立,但一旦完成就会得到回报。这是我们的做法 -
根据您的描述,我会查看 Eclipse 帮助,集成到 .NET 或 MFC 应用程序中并不简单,您基本上必须进行帮助映射以将请求解析为 URL,然后将 URL 触发到 Eclipse 帮助package器或浏览器。 如果您不想使用安装程序并且不希望用户执行任何额外的步骤来允许 CHM 文件通过网络,为什么不回退到 WinHelp? Vista 不包括开箱即用的 WinHlp32.exe,但可免费下载用于 Vista 和 Server 2008。 我们的软件既在本地分发给客户端,又通过网络共享提供服务。我们选择生成一个 CHM 文件和一组 HTML 文件,以便从网络上提供服务。本地启动程序的用户使用 CHM 文件,而从网络共享获取程序的用户必须使用 HTML 文件。 我们使用帮助和手册,因此可以轻松地从同一源项目生成两种类型的输出。 HTML 文件还包含搜索功能,并且不需要 Web 服务器,因此虽然它不是最佳解决方案,但可以正常工作。 到目前为止,Windows 的所有单文件类型似乎都以某种方式被破坏了:
问题是如何生成自己的帮助文件,或者最好的帮助文件格式是什么? 就我个人而言,我认为 CHM 非常出色。设置机器时我做的第一件事就是下载 CHM 格式的 PHP 手册 (http://www.php.net/download-docs.php) 并在 Crimson Editor 中为其添加热键。因此,当我按下 F1 时,它会加载 CHM 并搜索我的光标所在的单词(非常适合快速功能参考)。 我认为我们最终要为我们的应用程序使用的解决方案是自己托管帮助文件。这使我们能够立即访问文件并使其保持最新状态。 我的计划是将内容加载到大量 XML 文件中,每个文件都包含特定项目的帮助。此 XML 将包含指向其他 XML 文件的链接。我们会根据需要使用 XSLT 来显示内容。 根据许可,我们可能会构建一个特定于客户的 XSLT 文件,以便根据他们的需要定制外观。我们可能还需要能够仅显示针对我们产品的特定版本的帮助,这可以通过过滤掉 XSLT 中的内容来完成。
我在家里和工作中都在 Windows 上使用 Foxit Reader。小很多,打开速度也很快。当您想知道 a80000326.pdf 到底是什么以及为什么它会堵塞您的文档文件夹时非常方便。 如果您正在执行"只需提取并运行",那么您将遇到安全问题。如果您是运行 Vista(或更高版本)的用户,则尤其如此。您是否有理由避免将应用程序打包在安装程序中?使用安装程序可以缓解"外部源"问题。您可以毫无问题地使用 .chm 文件。 我们使用 InstallAware 来创建我们的安装包。它不便宜,但非常好。如果您关心成本,WIX 是开源的并且非常强大。 WIX 确实有一个学习曲线,但它很容易使用。 我使用了一个名为 AuthorIT 的商业包,它可以生成许多不同的格式,例如 chm、html、pdf、word、windows help、xml、xhtml 以及一些我从未听说过的其他格式(dita 响铃吗? ?)。 因此,与选择 chm 或 html 或其他任何问题有关的底线是,如果您使用它,您不会被锁定在给定的格式中,但您可以提供几种用户可以选择的格式,您甚至可以随心所欲地添加更多格式,无需额外费用。 如果您只有一个创建指南,那将不值得您花时间,但如果您有要管理的文档集,那么据我所知,这是最好的。他们的支持也很有帮助。 |
最新内容
相关内容
python代码如何在命令行运行
python代码如何在命令行运行,代码,培训,路径,空格,文件,下面,以上,目录,更多,内容,我们在编写python代码时,可以在交互模式下运行代码,也可以用pythonpython是前端语言吗?
pythonpython是前端语言吗?,代码,互动,培训,平台,标准,设计,语言,前端,语法,解释性,python语言属于后端开发语言。Python是一个高层次的结合pythonpython是什么类型的语言
pythonpython是什么类型的语言,培训,系统,教育,软件,电脑,代码,简介,人工智能,类型,语言,python是一种面向对象、解释型、动态类型计算机程序python如何执行python文件
python如何执行python文件,代码,培训,文件,程序,命令,模式,事半功倍,后缀,文本,以上,用文本编辑器写Python程序,然后保存为后缀为.py的文件,就python脚本语言
python脚本语言,代码,设计,情况,培训,语句,项目,基础,意外,异常,空格,Python是一种计算机程序设计语言。是一种面向对象的动态类型语言,最初被python为什么是胶水语言
python为什么是胶水语言,代码,标准,培训,环境,一致,系统,统一,数据,周期性,服务,胶水语言先从Helloworld开始。所有学python的童鞋都会从这句python怎么打开文件
python怎么打开文件,代码,系统,培训,信息,基础,环境,文件,源文件,目录,命令,一、使用python源文件的几种方法\运行python脚本:a.windows下打python怎么执行.py文件
python怎么执行.py文件,培训,位置,代码,文件,空格,路径,文件名,时候,右侧,单击,要运行一个已经编写好的.py文件,可以单击开始菜单,在“搜索程序pythonpython是脚本语言吗?
pythonpython是脚本语言吗?,设计,培训,大规模,项目,软件,面临,开发者,语言,脚本语言,方法,Python是脚本语言。python是一种计算机程序设计语python如何打开文件
python如何打开文件,培训,通用,文件,模式,对象,方式,字节,函数,操作,字符串,python中的文件对象:文件对象不仅可以用来访问普通的磁盘文件,而python怎么生成xml文件
python怎么生成xml文件,数据,培训,设计,标准,文件,标记,语言,实例,模块,宗旨,用python内置的xml.dom可以对xml文件进行解析处理。什么是xml?Xpython语言的全排列怎么提速?
python语言的全排列怎么提速?,培训,情况,代码,排列,元素,程序,方法,之后,语言,生成器,python从n个不同元素中任取m(m≤n)个元素,按照一定的顺