我继承了一个旧的Visual Basic项目。除Windows 10上的.hlp文件外,它仍然有效。
我发现了如何将.hlp文件转换为.chm。
有人可以告诉我如何在VB项目中用HTMLHelp替换WinHelp吗?
预先感谢
答案 0 :(得分:1)
正确答案取决于您的确切要求。
如果只想启动旧的* .exe并显示* .hlp文件(WinHelp),请导航至以下链接(在Windows10上搜索 Run WinHelp )并阅读所有其他链接内部:
请注意一个名为HHPMod的工具,专门用于迁移上下文相关的F1帮助。如果在旧项目中大量使用了F1帮助,则可能很难从WinHelp( .hlp)切换到HTMLHelp( .chm)。
但是,您已经走在十年前建议的正确道路上,并且今天仍然有效“帮助作者应转到HTML帮助1.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
答案 1 :(得分:0)
我已经成功安装了WinHlp32模块。我必须在安装程序中添加一些额外的代码才能注册模块。
到目前为止,我仅在几台机器上尝试过此方法...
感谢您的帮助。