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

标签 html-helper windows-7-x64 vista64 chm

我有一个用 Borland 的 C++ Builder 编写的旧版 32 位应用程序。我需要以编程方式显示 HtmlHelp 文件中的特定页面。到目前为止,我一直通过 HtmlHelp.ocx 执行此操作,但这不适用于 x64 版本的 Windows Vista/Windows7,如 this thread 中所述。 .

我无法将该应用程序编译为 64 位可执行文件。因此,到目前为止我发现的唯一解决方法是创建一个实现 COM 对象的 32 位组件,该对象加载并调用 32 位 DLL,并将 32 位 DLL 接口(interface)公开为 COM 接口(interface)。

仅显示具有特定主题的 chml 文件听起来太复杂了。一定还有别的东西。但它是什么?

最佳答案

这不能通过 htmlhelp api 实现吗? (MS sdk 中的 htmlhelp.h?)

特别是带有 HH_DISPLAY_TOPIC 的 htmlhelpA 函数

过去有些人更喜欢通过 .OCX,因为它在 IIRC w9x 上更可靠,但我认为这在 64 位应用程序中不是问题。

这些函数可能还列出了一些 64 位环境中不存在的 ocx/dll,但值得一试。我无法轻易检查这一点。

关于html-helper - 以编程方式打开 chm 文件的最简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1748782/

相关文章:

asp.net - IIS7上如何获取WEB实例的运行IP地址

windows-vista - Vista 64 位开发注意事项

cakephp - 将 html 属性分配给 CakePHP 的 HtmlHelper 图像中的 url 链接

asp.net-mvc-3 - 有什么方法可以不必追溯生成这些数据属性?

c# - 为什么自定义 html 助手无法正确呈现标签

JavaFX:为什么 stage.setResizable(false) 会导致额外的边距?

jquery - 需要有日期掩码,具体取决于 jquery 中的文化

for-loop - 无法在for循环中的子句中执行exe

c++ - Visual Studio 2013 运行项目两次

mercurial - Vista 64 位中的 TortoiseHg 不显示上下文菜单