以编程方式打开 chm 文件的最简单方法?
我有一个用 Borland 的 C++ Builder 编写的旧版 32 位应用程序。我需要以编程方式显示 HtmlHelp 文件中的特定页面。到目前为止,我一直通过 HtmlHelp.ocx 执行此操作,但这不适用于 x64 版本的 Windows Vista / Windows7,如 此线程。
我无法将该应用程序编译为 64 位可执行文件。因此,到目前为止我发现的唯一解决方法是创建一个实现 COM 对象的 32 位组件,该对象加载并调用 32 位 DLL,并将 32 位 DLL 接口公开为 COM 接口。
仅显示具有特定主题的 chml 文件听起来太复杂了。一定还有别的东西。但它是什么?
I have a legacy 32-bit application written in Borland's C++ Builder. I need to show specific pages from within a HtmlHelp file programmatically. Until now I've been doing this via HtmlHelp.ocx, but this does not work on x64 versions of Windows Vista / Windows7 as described in this thread.
I can't compile the application as 64-bit executable. Therefore the only workaround I have found so far is to create a 32-bit component implementing a COM object which loads and calls into the 32-bit DLL, and exposes the 32-bit DLL interface as a COM interface.
That sounds far too complicated just to display a chml file with a specific topic. There must be something else. But what is it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这不是可以通过 htmlhelp api 实现吗? (MS sdk 中的 htmlhelp.h?)
特别是带有 HH_DISPLAY_TOPIC 的 htmlhelpA 函数
过去有些人更喜欢通过 .OCX,因为它在 IIRC w9x 上更可靠,但我认为这在 64 位应用程序中不是问题。
这些函数可能还列出了一些 64 位环境中不存在的 ocx/dll,但值得一试。我无法轻易检查这一点。
Isn't this possible via the htmlhelp api ? (htmlhelp.h in the MS sdk?)
Specifically htmlhelpA function with HH_DISPLAY_TOPIC
Some people prefered going via the .OCX in the past because it was more reliable on IIRC w9x, but I assume that is not a problem in a 64-bit application.
It could be that these functions also list to some ocx/dll not there in 64-bit land, but it is worth a try. I can't easily check this.