亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? imapi.cpp

?? RAS高級編程是一個RAS撥號程序高級開發
?? CPP
字號:
/*
 *	$Header:$
 *
 *	$Log:$
 */
#include "stdafx.h"
#include <mapi.h>
#include "imapi.h"

HINSTANCE CIMapi::m_hInstMail = (HINSTANCE) NULL;
BOOL	  CIMapi::m_isMailAvail = (BOOL) -1;

CIMapi::CIMapi()
{
	m_error = 0;										//	Initially error free

	memset(&m_message, 0, sizeof(MapiMessage));
	memset(&m_from, 0, sizeof(MapiRecipDesc));
	m_message.lpOriginator = &m_from;
	m_from.ulRecipClass = MAPI_ORIG;

	if (m_hInstMail == (HINSTANCE) NULL)				//	Load the MAPI dll
		m_hInstMail = ::LoadLibraryA("MAPI32.DLL");

	if (m_hInstMail == (HINSTANCE) NULL)
	{
		AfxMessageBox(AFX_IDP_FAILED_MAPI_LOAD);
		m_error = IMAPI_LOADFAILED;
		return;
	}

	ASSERT(m_hInstMail != (HINSTANCE) NULL);			//	Now get the pointer to the send function
	(FARPROC&) m_lpfnSendMail = GetProcAddress(m_hInstMail, "MAPISendMail");

	if (NULL == m_lpfnSendMail)
	{
		AfxMessageBox(AFX_IDP_INVALID_MAPI_DLL);
		m_error = IMAPI_INVALIDDLL;
		return;
	}

	ASSERT(m_lpfnSendMail != NULL);
}

CIMapi::~CIMapi()
{
	if (m_hInstMail != (HINSTANCE) NULL)
		::FreeLibrary(m_hInstMail);

	m_hInstMail = (HINSTANCE) NULL;
	
	free(m_message.lpFiles);
	free(m_message.lpRecips);
}

BOOL CIMapi::HasEmail()
{
	if (m_isMailAvail == (BOOL) -1)
		m_isMailAvail = ::GetProfileInt(_T("MAIL"), _T("MAPI"), 0) != 0 && SearchPath(NULL, _T("MAPI32.DLL"), NULL, 0, NULL, NULL) != 0;

	return m_isMailAvail;
}

UINT CIMapi::Error()
{
	UINT temp = m_error;

	m_error = IMAPI_SUCCESS;
	return temp;
}

BOOL CIMapi::AllocNewTo()
{
	//	Allocate a new MapiRecipDesc structure and initialise it to all zeros
	m_message.lpRecips = (MapiRecipDesc *) realloc(m_message.lpRecips, (m_message.nRecipCount + 1) * sizeof(MapiRecipDesc));
	memset(&m_message.lpRecips[m_message.nRecipCount], 0, sizeof(MapiRecipDesc));

	ASSERT(m_message.lpRecips);
	return m_message.lpRecips != (MapiRecipDesc *) NULL;
}

BOOL CIMapi::To(LPCTSTR recip)
{
	if (AllocNewTo())
	{
		//	We succeeded in allocating a new recipient record
		m_message.lpRecips[m_message.nRecipCount].lpszName = (LPTSTR) recip;
		m_message.lpRecips[m_message.nRecipCount].ulRecipClass = MAPI_TO;
		m_message.nRecipCount++;
		return TRUE;
	}

	m_error = IMAPI_FAILTO;
	return FALSE;
}

BOOL CIMapi::Cc(LPCTSTR recip)
{
	if (AllocNewTo())
	{
		//	We succeeded in allocating a new recipient record
		m_message.lpRecips[m_message.nRecipCount].lpszName = (LPTSTR) recip;
		m_message.lpRecips[m_message.nRecipCount].ulRecipClass = MAPI_CC;
		m_message.nRecipCount++;
		return TRUE;
	}

	m_error = IMAPI_FAILCC;
	return FALSE;
}

BOOL CIMapi::Attach(LPCTSTR path, LPCTSTR name)
{
	//	Add a new attachment record
	m_message.lpFiles = (MapiFileDesc *) realloc(m_message.lpFiles, (m_message.nFileCount + 1) * sizeof(MapiFileDesc));
	memset(&m_message.lpFiles[m_message.nFileCount], 0, sizeof(MapiFileDesc));

	ASSERT(m_message.lpFiles);
	
	if (m_message.lpFiles == (MapiFileDesc *) NULL)
	{
		m_error = IMAPI_FAILATTACH;
		return FALSE;
	}

	m_message.lpFiles[m_message.nFileCount].lpszPathName = (LPTSTR) path;
	m_message.lpFiles[m_message.nFileCount].lpszFileName = (LPTSTR) name;
	m_message.nFileCount++;
	return TRUE;
}

BOOL CIMapi::Send(ULONG flags)
{
	CWaitCursor wait;
	int			offset = m_text.GetLength();

	//	Add 1 space per attachment at the end of the body text.
	m_text += CString(' ', m_message.nFileCount);

	//	Set each attachment to replace one of the added spaces at the end of the body text.
	for (UINT i = 0; i < m_message.nFileCount; i++)
		m_message.lpFiles[i].nPosition = offset++;

	m_message.lpszNoteText = (LPTSTR) (LPCTSTR) m_text;	//  Set the body text

	// prepare for modal dialog box
	AfxGetApp()->EnableModeless(FALSE);
	HWND hWndTop;
	CWnd* pParentWnd = CWnd::GetSafeOwner(NULL, &hWndTop);

	// some extra precautions are required to use MAPISendMail as it
	// tends to enable the parent window in between dialogs (after
	// the login dialog, but before the send note dialog).
	pParentWnd->SetCapture();
	::SetFocus(NULL);
	pParentWnd->m_nFlags |= WF_STAYDISABLED;

	int nError = m_lpfnSendMail(0, (ULONG) pParentWnd->GetSafeHwnd(), &m_message, MAPI_LOGON_UI | flags, 0);

	// after returning from the MAPISendMail call, the window must
	// be re-enabled and focus returned to the frame to undo the workaround
	// done before the MAPI call.
	::ReleaseCapture();
	pParentWnd->m_nFlags &= ~WF_STAYDISABLED;

	pParentWnd->EnableWindow(TRUE);
	::SetActiveWindow(NULL);
	pParentWnd->SetActiveWindow();
	pParentWnd->SetFocus();
	
	if (hWndTop != NULL)
		::EnableWindow(hWndTop, TRUE);
	
	AfxGetApp()->EnableModeless(TRUE);

	if (nError != SUCCESS_SUCCESS && nError != MAPI_USER_ABORT && nError != MAPI_E_LOGIN_FAILURE)
	{
		AfxMessageBox(AFX_IDP_FAILED_MAPI_SEND);
		return FALSE;
	}

	return TRUE;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区四区不卡在线 | 国产精品久久久久久久久动漫| 国产不卡免费视频| 中文字幕一区av| 欧美日韩综合色| 国产盗摄视频一区二区三区| 亚洲精品欧美二区三区中文字幕| 在线综合视频播放| 国产精品夜夜爽| 午夜免费久久看| 久久久久97国产精华液好用吗| 色av成人天堂桃色av| 国产一区在线观看视频| 亚洲激情第一区| 91精品国产手机| 国产经典欧美精品| 午夜精品久久久久| 一区在线播放视频| 精品欧美一区二区久久| 色欧美片视频在线观看| 国产另类ts人妖一区二区| 一二三四区精品视频| 久久精品视频在线免费观看| 欧美人与性动xxxx| 99久久精品情趣| 极品尤物av久久免费看| 午夜精品久久久久久| 国产精品成人免费在线| 欧美v亚洲v综合ⅴ国产v| 欧美一a一片一级一片| 国产成人av电影在线观看| 美女www一区二区| 一区二区三区毛片| 中文字幕亚洲综合久久菠萝蜜| 日韩欧美色综合网站| 色悠久久久久综合欧美99| 国产精品99久久久久久似苏梦涵 | 色婷婷狠狠综合| 国产精品一区二区久久不卡| 日韩精品一级中文字幕精品视频免费观看| 国产精品私人自拍| 日韩精品最新网址| 91精品国产综合久久国产大片| 99re热这里只有精品视频| 国产精品一区在线| 久久99国产精品麻豆| 日本中文字幕一区二区视频| 中文字幕日韩一区| 国产精品国产三级国产普通话三级| 精品国产在天天线2019| 日韩视频免费观看高清完整版在线观看| 欧洲一区二区三区在线| 99久久精品国产麻豆演员表| 国产成人免费视| 国产高清精品网站| 国产精品亚洲第一区在线暖暖韩国 | 日韩成人精品在线| 日韩精品亚洲专区| 亚洲欧美在线视频观看| 中文字幕av一区 二区| 在线播放一区二区三区| 欧美乱熟臀69xxxxxx| 欧美亚洲自拍偷拍| 欧美日韩国产精品自在自线| 精品婷婷伊人一区三区三| 欧美视频一区二区三区在线观看| 欧美亚洲综合色| 欧美理论在线播放| 6080国产精品一区二区| 日韩一区二区免费视频| 日韩精品一区二区三区四区视频| 久久综合久久久久88| 日韩三级视频中文字幕| 精品99一区二区三区| 精品国产一区二区三区av性色| 欧美性猛片aaaaaaa做受| 91色乱码一区二区三区| 欧美三级蜜桃2在线观看| 欧美一区二区播放| 久久一留热品黄| 国产精品电影一区二区| 亚洲一区二区三区美女| 青青草国产成人av片免费| 久久成人久久爱| 不卡的电影网站| 欧美日韩一区中文字幕| 日韩精品一区二区在线| 欧美高清在线视频| 亚洲国产精品欧美一二99| 久久99精品久久久久| 成人不卡免费av| 欧美久久一二区| 久久久精品日韩欧美| 一区二区三区四区在线| 日本vs亚洲vs韩国一区三区二区| 国产精品18久久久久久久网站| 99re这里只有精品视频首页| 91精品欧美一区二区三区综合在 | 337p日本欧洲亚洲大胆精品| 中文字幕一区二区三中文字幕 | 亚洲国产一区二区三区| 午夜久久久久久久久久一区二区| 国内精品自线一区二区三区视频| 91视频你懂的| 欧美一区二区视频免费观看| 中文字幕在线一区| 秋霞午夜av一区二区三区| 国产美女娇喘av呻吟久久| 欧美视频一区二区三区在线观看| 精品国产乱码久久久久久久久| 亚洲精品中文字幕在线观看| 激情综合五月天| 在线亚洲精品福利网址导航| 久久久久久日产精品| 亚洲成人一二三| 成人av影视在线观看| 91精品国产综合久久香蕉的特点 | 美女爽到高潮91| 91视频在线观看| 国产调教视频一区| 日韩精品视频网站| 在线观看亚洲a| 国产精品免费观看视频| 久久精品国产色蜜蜜麻豆| 欧美亚日韩国产aⅴ精品中极品| 国产精品丝袜久久久久久app| 麻豆久久久久久| 欧美精品欧美精品系列| 亚洲视频综合在线| 国产.欧美.日韩| 久久综合色综合88| 麻豆精品在线看| 欧美肥胖老妇做爰| 一区二区三国产精华液| 不卡的av在线播放| 国产精品无码永久免费888| 精品一区二区三区久久久| 欧美视频在线一区二区三区| 中文字幕国产一区| 国产精品亚洲一区二区三区在线 | 久久久激情视频| 久久99精品国产91久久来源| 欧美日韩国产综合一区二区三区 | 欧美精品久久99| 国产精品国产a级| 蜜臀久久99精品久久久久宅男 | 国产成人午夜视频| 精品国产乱码久久久久久免费 | 国产精品美女久久福利网站| 国产精品一区二区久久不卡| 欧美一区二区人人喊爽| 亚洲欧美区自拍先锋| 精品一区二区三区av| 欧美日韩在线三级| 午夜精品久久久久| 制服.丝袜.亚洲.中文.综合 | 午夜视黄欧洲亚洲| 99麻豆久久久国产精品免费 | 石原莉奈在线亚洲二区| 欧美日韩在线播| 日韩激情一区二区| 欧美在线短视频| 亚洲成人午夜电影| 56国语精品自产拍在线观看| 日韩 欧美一区二区三区| 日本高清无吗v一区| 亚洲男人电影天堂| 91在线云播放| 17c精品麻豆一区二区免费| 972aa.com艺术欧美| 国产日产欧美精品一区二区三区| 高清国产一区二区三区| 国产午夜精品理论片a级大结局 | 亚洲黄色在线视频| 日韩一区二区三区在线观看| 看片网站欧美日韩| 国产婷婷色一区二区三区在线| 国产aⅴ精品一区二区三区色成熟| 亚洲在线中文字幕| 欧美一区二区三级| 国产成人精品午夜视频免费| 日韩美女啊v在线免费观看| 日韩一区二区高清| 国产成人av电影| 亚洲欧美偷拍三级| 91精品国产色综合久久不卡蜜臀| 国产一区二区三区国产| 亚洲欧美在线观看| 欧美日韩的一区二区| 国产乱码一区二区三区| 亚洲一卡二卡三卡四卡五卡| 精品国产乱码久久久久久1区2区 | 亚洲图片欧美色图| 2023国产精品| 成人免费视频国产在线观看| 亚洲成a人片在线观看中文| 国产亚洲精品免费| 欧洲另类一二三四区| 美脚の诱脚舐め脚责91| 一区二区三区在线高清|