1

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

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

4

1 回答 1

1

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

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

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

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

于 2013-12-06T13:16:00.387 回答