以编程方式打开 chm 文件的最简单方法?

发布于 2024-08-11 22:37:33 字数 431 浏览 10 评论 0原文

我有一个用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

只是一片海 2024-08-18 22:37:33

这不是可以通过 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文