我在互联网上找到了以下代码片段,它会从模板中创建一封电子邮件:
LPDISPATCH _Application::CreateItemFromTemplate(LPCTSTR TemplatePath, const VARIANT& InFolder)
{
LPDISPATCH result;
static BYTE parms[] =
VTS_BSTR VTS_VARIANT;
InvokeHelper(0x10b, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
TemplatePath, &InFolder);
return result;
}
我对此代码的问题是它需要最后一个参数才能拥有一个文件夹。我的代码没有文件夹,发送后的电子邮件将上传到另一个应用程序。我已经尝试将NULL
作为最后一个参数传递,但这只会引发异常。
我想要实现的只是使用模板打开电子邮件,并在用户的Outlook桌面上显示该模板。因此,我的问题是我应该将此参数传递给此InvokeHelper
方法?它只是最后一个参数,或者最后一个参数是NULL
,但其他参数是否已更改,如果是这样的话?
由于
答案 0 :(得分:0)
试试这段代码:
try
{
long rc = -1;
static BYTE parms[] = VTS_BSTR VTS_BSTR VTS_BSTR VTS_BSTR VTS_BSTR VTS_I2;
m_eventDispatchDriver.InvokeHelper(0x6003000c, DISPATCH_METHOD, VT_I4, (void*)&rc, parms,
_UDATA(strSubject),
_UDATA(strBody),
_UDATA(strBody),
_UDATA(strRecipients),
_UDATA(strAttachments),
0 /*SendWithMailToIfOLDown*/);
if (rc == 0)
return RESULT_OK;
else
return RESULT_E_FAIL;
}
catch(COleDispatchException *pExeption)
{
_UCHAR szError[256];
pExeption->GetErrorMessage(szError, 256);
LOG(failure: %s", _UADATA(strCommand), szError);
return RESULT_E_FAIL;
}
其中:
strSubject =“”
strAttachments =“”
strRecipients =“name@addr.com”
strBody =“”
使用后,您可以使用参数...