【发布时间】:2014-07-22 05:14:46
【问题描述】:
我正在开发一个我想从中发送电子邮件的应用程序。当我单击按钮/菜单时,Outlook Sendmail 窗口正确显示。
当我打开通讯簿时,对话框正常显示,但对话框标题仅显示“S”。
实际上该标题必须显示为“ Selected Names: ... ”。
代码:
HWND hWnd = this->GetSafeHwnd();
MAPIINIT_0 tMapInit = { 0, MAPI_MULTITHREAD_NOTIFICATIONS };
HRESULT hResult = MAPIInitialize( &tMapInit );
HMODULE hMapiMod = LoadLibrary(_T("mapi32.dll"));
ProcMapiLogon = (LPMAPILOGON)GetProcAddress( hMapiMod, "MAPILogon" );
(ProcMapiLogon)( (ULONG)hWnd, NULL, NULL, MAPI_LOGON_UI | MAPI_NEW_SESSION, 0, &hCurrentSession );
LPMAPISENDMAIL ProcMapiSendMail = NULL;
ProcMapiSendMail = (LPMAPISENDMAIL)GetProcAddress(hMapiMod, "MAPISendMail");
(ProcMapiSendMail)(hCurrentSession, (ULONG)hWnd, &myMsg, MAPI_DIALOG | MAPI_LOGON_UI, 0);
注意:此应用程序是在命令提示符下构建的,并设置了 unicode 标志 _UNICODE,编译器是 Visual Studio 2008。
请帮我解决问题。
提前致谢。
【问题讨论】:
标签: visual-c++ outlook window mapi