安装了 Outlook 的 64 位副本,并且 32 位程序正在尝试调用 MAPIInitialize()。它会失败,这没关系,但它也会显示一个模态消息框并阻止直到消息框被解除。

如何防止出现非常无用的消息框?

(以防万一,我链接到 mapi32.lib 并从 C++ 程序调用它。操作系统是 Windows 7。)

最佳答案

您的代码最终会调用一个 stub 32 位 dll。
您是否静态链接到 mapi32.dll?您需要从 Program Files 文件夹中加载正确的 dll。如果 dll 的位数与您的进程的位数不匹配,LoadLibrary() 将返回 0 并且 GetLastError 将是 ERROR_BAD_EXE_FORMAT。

关于windows - MAPIInitialize 没有错误消息框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9434588/

10-12 20:41