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

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

?? imapi.cpp

?? vc++網絡編程教程的源碼。可能對使用vc網絡編程的有用。
?? 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一区二区三区免费野_久草精品视频
91国偷自产一区二区三区成为亚洲经典| 欧美亚洲禁片免费| 精品美女在线播放| 蜜桃av一区二区在线观看| 欧美日韩的一区二区| 亚洲.国产.中文慕字在线| 色8久久人人97超碰香蕉987| 中文字幕一区二区三区在线观看| 成人福利在线看| 国产精品美女久久久久久2018| 国产v日产∨综合v精品视频| 国产欧美精品一区二区色综合朱莉| 狠狠色2019综合网| 久久一区二区三区四区| 国产黄色精品视频| 久久久av毛片精品| 国产不卡一区视频| 国产精品嫩草99a| www.成人在线| 一级中文字幕一区二区| 欧美视频在线不卡| 五月天亚洲精品| 日韩欧美123| 国产一区二区剧情av在线| 国产欧美日韩另类一区| 91女人视频在线观看| 亚洲综合精品久久| 欧美一区二区三区白人| 狠狠久久亚洲欧美| 国产精品久久99| 在线免费观看日本一区| 日韩黄色小视频| 精品国产精品网麻豆系列| 国产成人欧美日韩在线电影| 亚洲天堂免费看| 欧美日韩精品二区第二页| 日本不卡在线视频| 久久免费看少妇高潮| 成人国产一区二区三区精品| 亚洲精品伦理在线| 欧美日本一区二区在线观看| 老司机精品视频在线| 国产欧美一区二区三区沐欲| 波多野结衣在线aⅴ中文字幕不卡| 一区二区久久久久| 91精品婷婷国产综合久久性色| 激情欧美一区二区三区在线观看| 久久久777精品电影网影网| 成人av电影在线| 亚洲午夜电影网| 精品久久久久一区| av电影在线观看一区| 日日摸夜夜添夜夜添国产精品| 国产午夜精品一区二区三区四区| 94色蜜桃网一区二区三区| 图片区小说区区亚洲影院| 国产日韩欧美一区二区三区乱码| 91黄色免费网站| 精品一区二区免费视频| 亚洲欧美中日韩| 欧美一二三四在线| 99热这里都是精品| 91免费视频网址| 免费欧美在线视频| 中文字幕乱码亚洲精品一区| 欧美日本一区二区三区四区 | 亚洲欧美乱综合| 欧美人狂配大交3d怪物一区| 国产精品一区二区三区乱码 | 亚洲欧美乱综合| 欧美tickling挠脚心丨vk| 色综合久久久网| 久久国产人妖系列| 亚洲精品你懂的| 久久蜜桃一区二区| 欧美色综合天天久久综合精品| 国产91色综合久久免费分享| 日韩精品一二三区| 国产精品免费视频一区| 日韩欧美国产综合一区| 色吧成人激情小说| 国产盗摄一区二区| 青娱乐精品在线视频| 综合色天天鬼久久鬼色| 久久综合九色综合97_久久久| 欧美三级韩国三级日本三斤| 成人不卡免费av| 精品一区二区精品| 亚洲午夜久久久久| 最新久久zyz资源站| 久久伊人蜜桃av一区二区| 欧美精品丝袜中出| 色综合久久综合中文综合网| 国产精品影视在线观看| 日本在线不卡视频| 亚洲一区二区三区免费视频| 国产精品欧美一级免费| 2023国产一二三区日本精品2022| 欧美视频三区在线播放| 99久久久无码国产精品| 国产精品一区二区你懂的| 免费xxxx性欧美18vr| 亚洲一级二级在线| 亚洲色大成网站www久久九九| 久久久久99精品国产片| 欧美刺激午夜性久久久久久久| 欧美午夜不卡在线观看免费| 91小视频在线免费看| 成人精品鲁一区一区二区| 国产精品自拍av| 久久99久久久欧美国产| 日本伊人精品一区二区三区观看方式| 一卡二卡三卡日韩欧美| 亚洲精品免费电影| 亚洲人妖av一区二区| 国产欧美日韩中文久久| www亚洲一区| 精品999在线播放| 日韩精品一区二区在线观看| 欧美一区二区三区精品| 制服丝袜成人动漫| 欧美精品亚洲一区二区在线播放| 在线观看欧美日本| 欧美亚洲国产一区二区三区va| 91在线精品一区二区三区| 大陆成人av片| 成人污视频在线观看| 国产盗摄一区二区| 国产一区二区视频在线| 国产一区二区三区在线看麻豆| 国内精品伊人久久久久av一坑 | 丝袜亚洲另类丝袜在线| 日韩专区欧美专区| 日韩精品国产欧美| 亚洲午夜电影网| 天天综合网天天综合色| 无吗不卡中文字幕| 蜜桃精品视频在线观看| 激情伊人五月天久久综合| 国产一区三区三区| 国产福利一区二区三区| 国产99精品视频| 色综合天天做天天爱| 在线免费观看视频一区| 欧美三级资源在线| 欧美一级精品在线| 精品少妇一区二区三区在线播放| 久久女同性恋中文字幕| 国产精品天美传媒| 亚洲靠逼com| 午夜激情一区二区三区| 奇米一区二区三区av| 精品一区二区三区香蕉蜜桃| 国产乱子轮精品视频| 成人久久视频在线观看| 一本到不卡精品视频在线观看 | 久久久久久久综合日本| 国产亚洲美州欧州综合国| 国产精品色噜噜| 一区二区三区免费观看| 午夜电影久久久| 韩国三级在线一区| 成人av手机在线观看| 欧美亚洲综合色| 欧美一区二区三区不卡| 国产日韩精品一区二区三区 | 亚洲一区二区在线视频| 秋霞影院一区二区| 国产精品一线二线三线| 91网站在线播放| 这里是久久伊人| 久久久精品国产免大香伊| 自拍偷在线精品自拍偷无码专区 | 成人欧美一区二区三区在线播放| 亚洲一区视频在线| 麻豆精品在线播放| 国产99精品国产| 日本高清免费不卡视频| 日韩视频一区二区| 国产精品美女久久久久aⅴ | 另类成人小视频在线| 波多野结衣中文一区| 欧美日韩成人高清| 久久精品亚洲精品国产欧美kt∨| 亚洲欧洲av在线| 美腿丝袜在线亚洲一区| www.在线成人| 欧美精品tushy高清| 中文字幕av不卡| 视频一区欧美日韩| 国产成人亚洲综合a∨婷婷图片| 色综合久久久久久久久久久| 精品欧美久久久| 一区二区三区四区视频精品免费| 麻豆精品一二三| 91国产成人在线| 久久久久久一级片| 日韩专区在线视频| caoporn国产精品| 欧美电影免费观看完整版|