我继承了一个旧的Visual Basic项目。它仍然可以工作,除了Windows10上的.hlp文件。
我已经找到了如何将.hlp文件转换为.chm。
谁能告诉我在VB项目中如何用HTMLHelp替换WinHelp?
提前感谢
发布于 2018-09-04 16:52:59
正确的答案取决于您的确切要求。
如果您只想启动旧的*.exe并显示*.hlp文件( WinHelp ),请导航到以下链接(在Windows10上搜索Run WinHelp),并阅读其中的所有其他链接:
请注意一个名为HHPMod的工具,该工具专门用于迁移上下文相关的F1帮助。如果在旧项目中大量使用F1帮助,则很难从WinHelp (.hlp)切换到HTMLHelp (.chm)。
但是,你已经走在了十年前推荐的正确轨道上,并且今天仍然有效“帮助作者应该转移到HTMLHelp1.x (.chm)”。
如果您真的想重新编译旧项目,那么Download Visual Basic 6 example project可能会帮助您(请参阅下载部分)。
首先,您需要通过设置来指定要使用的帮助文件,例如:
App.HelpFile = App.Path & "\helpfile.chm"
你会在一个模块modHelp.bas中找到所有的声明,例如
Private Declare Function HtmlHelp Lib "hhctrl.ocx" Alias "HtmlHelpA" _
(ByVal hwndCaller As Long, ByVal pszFile As String, _
ByVal uCommand As Long, ByVal dwData As Long) As Long
Private Declare Function HTMLHelpTopic Lib "hhctrl.ocx" Alias "HtmlHelpA" _
(ByVal hwndCaller As Long, ByVal pszFile As String, _
ByVal uCommand As Long, ByVal dwData As String) As Long
Private Declare Function HtmlHelpSearch Lib "hhctrl.ocx" Alias "HtmlHelpA" _
(ByVal hwndCaller As Long, ByVal pszFile As String, _
ByVal uCommand As Long, dwData As HH_FTS_QUERY) As Long
Private Declare Function HtmlHelpIndex Lib "hhctrl.ocx" Alias "HtmlHelpA" _
(ByVal hwndCaller As Long, ByVal pszFile As String, _
ByVal uCommand As Long, dwData As HH_AKLINK) As Long有关更多信息,另请参阅Using a module for Visual Basic 6 projects
发布于 2018-09-27 08:27:33
我已经成功地安装了WinHlp32模块。我不得不在设置中添加一些额外的代码来注册模块。
到目前为止,我只在几台机器上尝试过。
谢谢你的帮助。
https://stackoverflow.com/questions/52158146
复制相似问题