Windows帮助文件

Windows帮助文件,windows,chm,winhelp,Windows,Chm,Winhelp,回到过去,帮助不是微不足道的,而是可能的:生成一些带有特殊标记的funky.rtf文件,通过编译器运行它,然后得到一个实际运行良好的WinHelp文件(.hlp) 然后,微软决定WinHelp不再时髦和酷了,转而使用CHM,直到他们实际上从Vista中删除了WinHelp 现在,CHM可能很好,但是每个试图在网络上打开.CHM文件的人都会知道由安全限制导致的“网页导航被取消”屏幕 虽然有办法让CHM在网络之外工作,但这并不是一个好的选择,因为当用户按下“帮助”按钮时,他需要帮助,而不必进行一些古

回到过去,帮助不是微不足道的,而是可能的:生成一些带有特殊标记的funky.rtf文件,通过编译器运行它,然后得到一个实际运行良好的WinHelp文件(.hlp)

然后,微软决定WinHelp不再时髦和酷了,转而使用CHM,直到他们实际上从Vista中删除了WinHelp

现在,CHM可能很好,但是每个试图在网络上打开.CHM文件的人都会知道由安全限制导致的“网页导航被取消”屏幕

虽然有办法让CHM在网络之外工作,但这并不是一个好的选择,因为当用户按下“帮助”按钮时,他需要帮助,而不必进行一些古怪的设置

一句话:我发现CHM绝对无法使用。但是WinHelp也不再是一个选项,我想知道替代方案是什么,特别是当它与我的应用程序集成时(例如,对于WinHelp和CHM,有一些函数允许您直接跳转到某个主题)

PDF的缺点是需要AdobeReader(或者不是很多人使用的更轻的阅读器之一)。我可以接受这一点,因为现在这是一种标准,但你能可靠地告诉它跳转到给定的页面/锚吗

HTML文件似乎是最好的选择,然后你只需要处理不同的浏览器(CSS和其他东西)

编辑:我希望创建自己的帮助文件。由于我是“无需设置,只需提取并运行”理念的粉丝,我在过去曾多次遇到过这个问题,因为我的许多用户都会在网络上运行它,这正是造成这个问题的原因

因此,我正在寻找一种更加健壮、经得起未来考验的方法,为我的用户提供帮助,而不必为我制作的每个应用程序编写不同的帮助系统


CHM是一种非常好的格式,但这种安全性使其无法使用,因为帮助系统应该为用户提供帮助,而不是产生更多的问题。

是的,在某个时候,他们希望将行为添加到帮助文件中,从而使其成为一个安全问题,并猜测会发生什么,补救措施往往比威胁更糟糕

或者它太简单或太复杂,被新的东西取代,而不考虑向后兼容性

如果您希望它非常简单,并且适合不同的时代,那么可以使用.TXT

你没有指定你的应用程序的编码,所以这取决于

如果它是一个web应用程序,纯HTML将是最好的选择,对于一个帮助文件,你不需要特殊功能或javascript,因此独立于浏览器应该是很简单的。但对于桌面应用程序来说,HTML、在线或离线应用程序通常效果良好

PDF是另一种通用解决方案,是的,您可以跳转到特定页面,请参阅答案。每台电脑都安装了(或应该安装)一个或另一个客户端,我不担心这一点。我自己从来没有选择Acrobat Reader,更快、更阴沉、更好的解决方案,我最喜欢的是


我确信.Net应用程序有自己的帮助系统(这里没有经验),许多语言都有通过按热键(F1)或单击某些控制对话框来显示工具提示、窗口或带有帮助的页面的选项。

请注意,您至少可以在windows 7之前安装WinHelp。我不确定Windows 10,也不知道许可证是否允许您将其与程序一起分发,但这可能值得调查。根据我的经验,大多数开发人员的帮助文档都放在他们的网站上。单击“帮助”链接只会打开指向其网站的web浏览器。除非您的客户对脱机帮助有很大的需求,否则我不明白为什么联机帮助不可取。对于Windows 10上的Winhelp,请参阅我的答案。“网络应用程序有自己的帮助系统”,嗯,至少对于C#/Winforms来说,该帮助系统只是chm。看见