📄 netmapi.cpp
字号:
#include "NetMAPI.h"
BOOL MAPIInit()
{
return MAPIEx::Init();
}
void MAPITerm()
{
MAPIEx::Term();
}
void CopyString(LPTSTR szDest,LPCTSTR szSrc,int nMaxLength)
{
int nSrcLen=(int)_tcslen(szSrc)+1;
int nLen=min(nSrcLen,nMaxLength);
memcpy(szDest,szSrc,sizeof(TCHAR)*nLen);
if(nLen==nMaxLength) szDest[nMaxLength-1]=0;
}
MAPIEx* MAPILogin()
{
MAPIEx* pMAPI=new MAPIEx();
if(pMAPI->Login()) return pMAPI;
delete pMAPI;
return NULL;
}
void MAPILogout(MAPIEx* pMAPI)
{
pMAPI->Logout();
delete pMAPI;
}
BOOL MAPIOpenMessageStore(MAPIEx* pMAPI)
{
return pMAPI->OpenMessageStore();
}
BOOL MAPIOpenInbox(MAPIEx* pMAPI)
{
return (pMAPI->OpenInbox()!=NULL);
}
BOOL MAPIOpenOutbox(MAPIEx* pMAPI)
{
return (pMAPI->OpenOutbox()!=NULL);
}
BOOL MAPIOpenSentItems(MAPIEx* pMAPI)
{
return (pMAPI->OpenSentItems()!=NULL);
}
BOOL MAPIOpenDeletedItems(MAPIEx* pMAPI)
{
return (pMAPI->OpenDeletedItems()!=NULL);
}
BOOL MAPIOpenDrafts(MAPIEx* pMAPI)
{
return (pMAPI->OpenDrafts()!=NULL);
}
BOOL MAPIGetContents(MAPIEx* pMAPI,LPMAPIFOLDER pFolder)
{
return pMAPI->GetContents(pFolder);
}
int MAPIGetRowCount(MAPIEx* pMAPI)
{
return pMAPI->GetRowCount();
}
BOOL MAPIGetNextMessage(MAPIEx* pMAPI,SmsMessage*& pMessage,BOOL bUnreadOnly)
{
pMessage=new SmsMessage();
if(!pMAPI->GetNextMessage(*pMessage,bUnreadOnly)) {
delete pMessage;
return FALSE;
}
return TRUE;
}
void MessageGetSenderName(SmsMessage* pMessage,LPTSTR szSenderName,int nMaxLength)
{
CopyString(szSenderName,pMessage->GetSenderName(),nMaxLength);
}
void MessageGetSenderEmail(SmsMessage* pMessage,LPTSTR szSenderEmail,int nMaxLength)
{
CopyString(szSenderEmail,pMessage->GetSenderEmail(),nMaxLength);
}
void MessageGetSubject(SmsMessage* pMessage,LPTSTR szSubject,int nMaxLength)
{
CopyString(szSubject,pMessage->GetSubject(),nMaxLength);
}
BOOL MessageGetReceivedTime(SmsMessage* pMessage,int& nYear,int& nMonth,int& nDay,int& nHour,int& nMinute,int& nSecond)
{
SYSTEMTIME tm;
if(pMessage->GetReceivedTime(tm)) {
nYear=tm.wYear;
nMonth=tm.wMonth;
nDay=tm.wDay;
nHour=tm.wHour;
nMinute=tm.wMinute;
nSecond=tm.wSecond;
return TRUE;
}
return FALSE;
}
BOOL MessageGetReceivedTimeString(SmsMessage* pMessage,LPTSTR szReceivedTime,int nMaxLength,LPCTSTR szFormat)
{
LPCTSTR strReceivedTime;
if(szFormat && !_tcslen(szFormat)) szFormat=NULL;
if(pMessage->GetReceivedTime(strReceivedTime,szFormat)) {
CopyString(szReceivedTime,strReceivedTime,nMaxLength);
return TRUE;
}
return FALSE;
}
BOOL MessageGetSubmitTime(SmsMessage* pMessage,int& nYear,int& nMonth,int& nDay,int& nHour,int& nMinute,int& nSecond)
{
SYSTEMTIME tm;
if(pMessage->GetSubmitTime(tm)) {
nYear=tm.wYear;
nMonth=tm.wMonth;
nDay=tm.wDay;
nHour=tm.wHour;
nMinute=tm.wMinute;
nSecond=tm.wSecond;
return TRUE;
}
return FALSE;
}
BOOL MessageGetSubmitTimeString(SmsMessage* pMessage,LPTSTR szSubmitTime,int nMaxLength,LPCTSTR szFormat)
{
LPCTSTR strSubmitTime;
if(szFormat && !_tcslen(szFormat)) szFormat=NULL;
if(pMessage->GetSubmitTime(strSubmitTime,szFormat)) {
CopyString(szSubmitTime,strSubmitTime,nMaxLength);
return TRUE;
}
return FALSE;
}
BOOL MessageGetRecipients(SmsMessage* pMessage)
{
return pMessage->GetRecipients();
}
BOOL MessageGetNextRecipient(SmsMessage* pMessage,LPTSTR szName,int nMaxLenName,LPTSTR szEmail,int nMaxLenEmail,int& nType)
{
LPCTSTR strName,strEmail;
if(pMessage->GetNextRecipient(strName,strEmail,nType)) {
CopyString(szName,strName,nMaxLenName);
CopyString(szEmail,strEmail,nMaxLenEmail);
return TRUE;
}
return FALSE;
}
void MessageClose(SmsMessage* pMessage)
{
delete pMessage;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -