【问题标题】:Why is keyhelp.ocx failing in my Visual Studio C++ application?为什么 keyhelp.ocx 在我的 Visual Studio C++ 应用程序中失败?
【发布时间】:2013-12-06 13:15:43
【问题描述】:

在现代 Visual Studio C++ 应用程序中使用 keyhelp.ocx 显示弹出 HtmlHelp 失败。

我得到一个没有明显错误代码的 COM 异常。查看调试输出,幕后似乎存在访问冲突。

【问题讨论】:

    标签: chm dep keyhelp


    【解决方案1】:

    您的可执行文件是通过/NXCOMPAT 在启用数据执行保护的情况下构建的。这是 Visual Studio 中的默认设置。

    keyhelp.ocx 使用 ATL7 构建,与 DEP 不兼容 - 请参阅 http://support.microsoft.com/kb/948468

    您需要为您的可执行文件禁用 DEP (/NXCOMPAT:NO) 或找到 keyhelp.ocx 的替代方法(我不知道有哪一种)。

    (请注意,可以在系统范围内强制执行 DEP - 您的代码在此类机器上仍然会失败。)

    【讨论】:

      猜你喜欢
      • 2016-02-21
      • 2018-04-01
      • 2020-02-19
      • 1970-01-01
      • 1970-01-01
      • 2018-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多