V
varun
outlook change the body of selected mail if we change body of forward mail.
I have a sample application which i got from following site.
http://www.codeproject.com/KB/COM/outlookaddin.aspx
I attach the project on rapidshare, please get it from
http://rapidshare.com/files/302193923/sample1.rar.html
..
In this application i register inspector event. When select a mail in
outlook click on forward button it calls onnewinspector
here i change mailbody and return. After that i found mail body is also
change in selected mail.
So i think it's serious issue in Outlook.
In Onnewinspector below code change body
HRESULT CAddin::Invoke(DISPID dispidMember,REFIID riid,LCID lcid, WORD
wFlags,
DISPPARAMS* pDispParams, VARIANT* pvarResult,
EXCEPINFO* pExcepInfo, UINT* puArgErr)
{
if(dispidMember = 0xf001)
{
if (!pDispParams)
return E_INVALIDARG;
if (pDispParams->cArgs > 0)
{
IDispatchPtr pDisp(pDispParams->rgvarg[0].pdispVal);
CComQIPtr<_Inspector> spInspector(pDisp);
IDispatchPtr dsptr = NULL;
spInspector->get_CurrentItem(&dsptr);
_MailItemPtr mptr = NULL;
mptr = dsptr;
_bstr_t bd = "this is new body";
if(mptr)
{
RecipientsPtr rptr = NULL;
mptr->get_Recipients(&rptr);
if(rptr)
{
long count = 0;
rptr->get_Count(&count);
if(count == 0)
mptr->put_Body(bd);
mptr = NULL;
}
}
}
}
return S_OK;
}
I have a sample application which i got from following site.
http://www.codeproject.com/KB/COM/outlookaddin.aspx
I attach the project on rapidshare, please get it from
http://rapidshare.com/files/302193923/sample1.rar.html
..
In this application i register inspector event. When select a mail in
outlook click on forward button it calls onnewinspector
here i change mailbody and return. After that i found mail body is also
change in selected mail.
So i think it's serious issue in Outlook.
In Onnewinspector below code change body
HRESULT CAddin::Invoke(DISPID dispidMember,REFIID riid,LCID lcid, WORD
wFlags,
DISPPARAMS* pDispParams, VARIANT* pvarResult,
EXCEPINFO* pExcepInfo, UINT* puArgErr)
{
if(dispidMember = 0xf001)
{
if (!pDispParams)
return E_INVALIDARG;
if (pDispParams->cArgs > 0)
{
IDispatchPtr pDisp(pDispParams->rgvarg[0].pdispVal);
CComQIPtr<_Inspector> spInspector(pDisp);
IDispatchPtr dsptr = NULL;
spInspector->get_CurrentItem(&dsptr);
_MailItemPtr mptr = NULL;
mptr = dsptr;
_bstr_t bd = "this is new body";
if(mptr)
{
RecipientsPtr rptr = NULL;
mptr->get_Recipients(&rptr);
if(rptr)
{
long count = 0;
rptr->get_Count(&count);
if(count == 0)
mptr->put_Body(bd);
mptr = NULL;
}
}
}
}
return S_OK;
}