安装了64位的Outlook副本,32位程序正在尝试调用MAPIInitialize()。它会失败,这没关系,但它也会显示一个模态消息框并阻塞,直到消息框被解除。
如何防止出现无用的消息框?
(如果重要的话,我将链接到mapi32.lib并从C ++程序调用它。操作系统是Windows 7.)
答案 0 :(得分:4)
您的代码最终调用存根32位dll。 你是静态链接到mapi32.dll吗?您需要从Program Files文件夹中加载正确的dll。如果dll的位数与进程的位数不匹配,LoadLibrary()将返回0并且GetLastError将为ERROR_BAD_EXE_FORMAT。