【问题标题】:Easiest way to open chm files programmatically?以编程方式打开 chm 文件的最简单方法?
【发布时间】:2009-11-17 13:12:51
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

    特别是 htmlhelp 带有 HH_DISPLAY_TOPIC 的函数

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

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

    【讨论】:

    • 它不是 64 位应用程序。这是一个遗留的 32 位应用程序,仍然应该在 Win9x 上运行
    • 为了支持其制造商多年来一直不支持的操作系统,您正陷入困境。到目前为止,放手并使用 的 htmlhelp API 会更容易。或者,向您的老板解释不可能支持任何现代计算机(例如他的客户最近将购买的计算机),因为让一切都在糟糕的旧垃圾箱诱饵上运行至关重要。
    • @Donal:我是我自己的老板,所以没有必要解释 :-) 这个问题是关于一个旧的共享软件游戏,它仍然卖得很好,足以证明修复帮助是合理的,但还不够好从头开始重写帮助。
    猜你喜欢
    • 2016-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-05
    相关资源
    最近更新 更多