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

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

?? getmaildlg.cpp

?? 新郵件檢查程序V1.0版(含源程序
?? CPP
字號:
//最簡單的新郵件檢查程序

#include "stdafx.h"
#include "GetMail.h"
#include "GetMailDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

#define WM_ICON_NOTIFY WM_USER + 0xA0

static CWinThread *m_pGetMailThread = NULL;

UINT GetMailThread(LPVOID lpParam)
{
	if(lpParam != NULL)
	{
		CGetMailDlg *dlg = (CGetMailDlg *)lpParam;
		CString strPop3 = dlg->m_strPop3;
		CString strUser = dlg->m_strUser;
		CString strPass = dlg->m_strPass;
		CString strInfo;
		int nTime = dlg->m_nTime;
		
		char chData[1024];
		
		int nStart = ::GetTickCount();

		BOOL bRet = FALSE;
		while(1)
		{
			CSocket sckPop;
			bRet = sckPop.Create();
			if(!bRet)
				continue ;
			do
			{
				int nRet = 0;
				bRet = sckPop.Connect(strPop3, 110);
				if(!bRet)
					break ;
				// receive info
				ZeroMemory(chData, 1024);
				nRet = sckPop.Receive(chData, 1024);
				if(nRet < 0 || chData[0] != '+')
					break ;
				// send user name
				ZeroMemory(chData, 1024);
				sprintf(chData, "USER %s\r\n", strUser);
				nRet = sckPop.Send(chData, strlen(chData));
				if(nRet < 0)
					break ;
				// receive return info
				ZeroMemory(chData, 1024);
				nRet = sckPop.Receive(chData, 1024);
				if(nRet < 0 || chData[0] != '+')
					break ;
				
				// send user password
				ZeroMemory(chData, 1024);
				sprintf(chData, "PASS %s\r\n", strPass);
				nRet = sckPop.Send(chData, strlen(chData));
				if(nRet < 0)
					break ;
				// receive return info
				ZeroMemory(chData, 1024);
				nRet = sckPop.Receive(chData, 1024);
				if(nRet < 0 || chData[0] != '+')
					break ;
				// get mail count
				ZeroMemory(chData, 1024);
				sprintf(chData, _T("STAT\r\n"));
				nRet = sckPop.Send(chData, strlen(chData));
				if(nRet < 0)
					break ;
				// receive return info
				ZeroMemory(chData, 1024);
				nRet = sckPop.Receive(chData, 1024);
				if(nRet < 0 || chData[0] != '+')
					break ;
				strInfo = chData;
				// quit pop3
				ZeroMemory(chData, 1024);
				sprintf(chData, _T("QUIT\r\n"));
				nRet = sckPop.Send(chData, strlen(chData));
				if(nRet < 0)
					break ;
				// receive return info
				ZeroMemory(chData, 1024);
				nRet = sckPop.Receive(chData, 1024);
				strInfo.TrimRight();
				dlg->SetInfo(strInfo);
				bRet = TRUE; //OK
			}while(0); // do it once
			sckPop.Close();
			if(!bRet)
			{
				dlg->SetInfo(_T("連接服務器錯誤!"), FALSE);
			}
			//Delay
			int nEnd = ::GetTickCount();
			if((nEnd - nStart) < (nTime*1000))
			{
				::Sleep(nTime*1000 - (nEnd - nStart));
			}
			nStart = ::GetTickCount();
		}
	}
	return 0;
}

class CAboutDlg : public CDialog
{
public:
	CAboutDlg();
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	//}}AFX_DATA
	//{{AFX_VIRTUAL(CAboutDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL
protected:
	//{{AFX_MSG(CAboutDlg)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAboutDlg)
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
	//{{AFX_MSG_MAP(CAboutDlg)
		// No message handlers
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

CGetMailDlg::CGetMailDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CGetMailDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CGetMailDlg)
	//}}AFX_DATA_INIT
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
	m_bStart = FALSE;
	m_nMailCount = -1;
}

void CGetMailDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CGetMailDlg)
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CGetMailDlg, CDialog)
	//{{AFX_MSG_MAP(CGetMailDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_WM_CLOSE()
	ON_COMMAND(IDM_HIDE, OnHide)
	ON_COMMAND(IDM_SHOW, OnShow)
	ON_UPDATE_COMMAND_UI(IDM_HIDE, OnUpdateHide)
	ON_UPDATE_COMMAND_UI(IDM_SHOW, OnUpdateShow)
	ON_COMMAND(IDM_EXIT, OnExit)
	ON_COMMAND(IDM_ABOUT, OnAbout)
	ON_WM_SHOWWINDOW()
	ON_WM_WINDOWPOSCHANGED()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

BOOL CGetMailDlg::OnInitDialog()
{
	CDialog::OnInitDialog();
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	SetDlgItemText(IDC_EDIT_POP3, _T("pop.yeah.net"));
	SetDlgItemText(IDC_EDIT_USER, _T("你的名字"));
	SetDlgItemText(IDC_EDIT_TIME, _T("60"));
	
	VERIFY(m_cSystray.Create(NULL,			// Parent window
			WM_ICON_NOTIFY,					// Icon notify message to use
			_T("新郵件通知程序"),		// tooltip
			m_hIcon,						// Icon to use
			IDR_MENU_TRAY));				// ID of tray icon

	return TRUE;
}

void CGetMailDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}

void CGetMailDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this);

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

HCURSOR CGetMailDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

void CGetMailDlg::OnOK() 
{
	if(m_pGetMailThread != NULL)
	{
		::TerminateThread(m_pGetMailThread->m_hThread, 0);
		::WaitForSingleObject(m_pGetMailThread->m_hThread, INFINITE);
		m_pGetMailThread = NULL;
	}
	GetDlgItem(IDC_EDIT_POP3)->EnableWindow(m_bStart);
	GetDlgItem(IDC_EDIT_USER)->EnableWindow(m_bStart);
	GetDlgItem(IDC_EDIT_PASS)->EnableWindow(m_bStart);
	GetDlgItem(IDC_EDIT_TIME)->EnableWindow(m_bStart);

	GetDlgItemText(IDC_EDIT_POP3, m_strPop3);
	GetDlgItemText(IDC_EDIT_USER, m_strUser);
	
	CString strTip;
	strTip.Format(_T("新郵件程序 - 服務器名:%s, 用戶名:%s"), m_strPop3, m_strUser);
	strTip.TrimLeft(); strTip.TrimRight();
	m_cSystray.SetTooltipText(strTip);

	if(!m_bStart)
	{
		GetDlgItemText(IDC_EDIT_PASS, m_strPass);
		m_nTime = GetDlgItemInt(IDC_EDIT_TIME);
		m_pGetMailThread = AfxBeginThread(GetMailThread, this);
		m_bStart = TRUE;
		SetDlgItemText(IDOK, _T("停止"));
		OnHide();
	}
	else
	{
		m_bStart = FALSE;
		SetDlgItemText(IDOK, _T("開始"));
	}
}

void CGetMailDlg::SetInfo(CString strInfo, BOOL bOk)
{
	if(!bOk)
	{
		SetDlgItemText(IDC_STATIC_INFO, strInfo);
		return ;
	}
	int nPos = strInfo.Find(_T(' '));
	if(nPos >= 0)
	{
		CString str = strInfo.Right(strInfo.GetLength() - nPos - 1);
		str.TrimLeft(); str.TrimRight();
		nPos = str.Find(_T(' '));
		if(nPos >= 0)
		{
			CString strCount = str.Left(nPos);
			CString strBytes = str.Right(str.GetLength() - nPos - 1);
			int nCount = atoi(strCount);
			int nBytes = atoi(strBytes);
			if(m_nMailCount != -1)
			{
				if(m_nMailCount < nCount)
				{
					CString str;
					str.Format(_T("您有新郵件了! 郵件總數:%d封! 新郵件:%d封!\n郵件服務器名:%s, 用戶名:%s.\n"),
						nCount, nCount - m_nMailCount, m_strPop3, m_strUser);
					::MessageBox(NULL, str, _T("郵件通知"), 
						MB_OK | MB_ICONINFORMATION | MB_SYSTEMMODAL);
				}
			}
			
			CString strText;
			strText.Format(_T("郵件總數:%d封,新郵件:%d封,大小總計:%.2fKB."), 
				nCount, (m_nMailCount == -1)?0:(nCount - m_nMailCount), 
				(float)(nBytes)/1024.f);
			m_nMailCount = nCount;
			SetDlgItemText(IDC_STATIC_INFO, strText);
			return ;
		}
	}
	SetDlgItemText(IDC_STATIC_INFO, _T("接收到的數據有錯誤!"));
}

void CGetMailDlg::OnCancel() 
{
	if(m_pGetMailThread != NULL)
	{
		::TerminateThread(m_pGetMailThread->m_hThread, 0);
		::WaitForSingleObject(m_pGetMailThread->m_hThread, INFINITE);
		m_pGetMailThread = NULL;
	}
	CDialog::OnCancel();
}

void CGetMailDlg::OnClose() 
{
	ShowWindow(FALSE);
}

void CGetMailDlg::OnHide()
{
	ShowWindow(FALSE);
}

void CGetMailDlg::OnShow()
{
	ShowWindow(TRUE);
}

void CGetMailDlg::OnUpdateHide(CCmdUI* pCmdUI)
{
	pCmdUI->Enable(IsWindowVisible());
}

void CGetMailDlg::OnUpdateShow(CCmdUI* pCmdUI)
{
	pCmdUI->Enable(!IsWindowVisible());
}

void CGetMailDlg::OnExit()
{
	CDialog::OnOK();
}

void CGetMailDlg::OnAbout()
{
	CAboutDlg dlgAbout;
	dlgAbout.DoModal();
}

void CGetMailDlg::OnShowWindow(BOOL bShow, UINT nStatus) 
{
	CDialog::OnShowWindow(bShow, nStatus);
	if(bShow)
	{
		m_cSystray.SetMenuDefaultItem(IDM_HIDE, FALSE);
	}
	else
	{
		m_cSystray.SetMenuDefaultItem(IDM_SHOW, FALSE);
	}
}

void CGetMailDlg::OnWindowPosChanged(WINDOWPOS FAR* lpwndpos) 
{
	CDialog::OnWindowPosChanged(lpwndpos);
	if(IsIconic())
	{
		ShowWindow(FALSE);
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品少妇一区二区三区视频免付费| 国产日韩成人精品| 久久久久9999亚洲精品| 一区二区三区成人| 国产成人午夜视频| 欧美一区二区三区四区高清| 国产欧美精品国产国产专区 | 在线免费观看日本欧美| 欧美久久婷婷综合色| 国产精品护士白丝一区av| 麻豆精品视频在线观看| 欧美日韩夫妻久久| 一区二区三区成人| 一本一道久久a久久精品| 欧美精彩视频一区二区三区| 麻豆精品一区二区三区| 制服丝袜亚洲色图| 亚洲第一搞黄网站| 欧美在线你懂的| 中文字幕欧美一区| 国产传媒日韩欧美成人| 久久亚洲精品小早川怜子| 麻豆国产一区二区| 日韩一区二区视频| 麻豆免费精品视频| 久久综合色之久久综合| 久久91精品久久久久久秒播| 欧美一级一区二区| 日韩av电影一区| 日韩欧美中文字幕制服| 久久精品国内一区二区三区| 日韩一区二区三区视频| 日韩成人一级片| 日韩一区二区三区电影| 首页欧美精品中文字幕| 777奇米四色成人影色区| 午夜电影一区二区三区| 欧美一区二区三区日韩视频| 日韩主播视频在线| 日韩一区二区三区在线| 国产一区二区三区综合| 国产人伦精品一区二区| 菠萝蜜视频在线观看一区| 最新国产の精品合集bt伙计| 色综合天天狠狠| 一区二区三区**美女毛片| 欧美日韩不卡视频| 久久精品免费观看| 国产精品国产自产拍高清av王其 | 久久精品一区二区| 成人性生交大片免费看在线播放| 日本一区二区动态图| 色综合亚洲欧洲| 日欧美一区二区| 久久夜色精品国产噜噜av| 成人自拍视频在线| 亚洲高清免费在线| 久久蜜桃av一区二区天堂| 不卡的av网站| 日韩国产欧美在线视频| 国产亚洲人成网站| 欧洲人成人精品| 极品美女销魂一区二区三区| 国产精品久久综合| 91精品国产免费| 成人听书哪个软件好| 亚洲国产另类av| 国产性色一区二区| 欧美日韩综合不卡| 丁香婷婷综合激情五月色| 亚洲制服丝袜一区| 久久精品人人做人人综合| 色噜噜久久综合| 久久不见久久见免费视频7| 亚洲美女淫视频| 久久精品一区八戒影视| 欧美日韩视频不卡| 91在线免费视频观看| 美女一区二区久久| 一区二区三区在线免费视频 | 国产精品高潮久久久久无| 宅男噜噜噜66一区二区66| 成人av动漫在线| 美女网站色91| 亚洲成a人在线观看| 国产精品国产三级国产有无不卡| 欧美xxx久久| 欧美一级二级在线观看| 欧美怡红院视频| 成人国产电影网| 国产麻豆精品一区二区| 石原莉奈在线亚洲二区| 亚洲一区二区欧美日韩| 国产精品色婷婷久久58| 精品国产91亚洲一区二区三区婷婷| 欧美性猛片xxxx免费看久爱| 成人黄色国产精品网站大全在线免费观看 | 日韩一区二区三| 欧美日韩一区二区三区在线| 91一区二区在线观看| 成人国产亚洲欧美成人综合网| 日本成人在线网站| 午夜精品免费在线观看| 亚洲成人精品在线观看| 亚洲午夜精品17c| 亚洲精品国产成人久久av盗摄 | 日韩一区二区视频| 欧美美女直播网站| 欧美日免费三级在线| 色综合色狠狠天天综合色| 国产宾馆实践打屁股91| 成人不卡免费av| 国产精品白丝av| 国产精品一区免费视频| 国产精品一区免费视频| 国产伦精一区二区三区| 国产尤物一区二区| 成人午夜碰碰视频| 一本一本大道香蕉久在线精品 | 成人免费视频caoporn| 成人性视频网站| 99麻豆久久久国产精品免费优播| 成人av电影免费在线播放| 91免费版pro下载短视频| 色综合久久久久综合| 欧美日韩激情在线| 91精品国产综合久久蜜臀| 日韩欧美专区在线| 欧美经典三级视频一区二区三区| 国产精品成人在线观看| 亚洲精品乱码久久久久久| 亚洲综合色婷婷| 日韩精品欧美精品| 国产美女视频一区| 99久久伊人网影院| 欧美三级视频在线| 日韩欧美电影一二三| 国产精品看片你懂得| 亚洲五码中文字幕| 激情六月婷婷久久| 99精品久久99久久久久| 欧美优质美女网站| 日韩免费观看高清完整版 | 成人激情免费网站| 91国产免费看| 亚洲精品在线免费播放| 国产精品久久看| 午夜久久久久久| 成人毛片视频在线观看| 欧美日韩中字一区| 中文字幕第一页久久| 亚洲第一福利一区| 国产精品中文欧美| 欧美综合天天夜夜久久| 欧美mv和日韩mv国产网站| 亚洲欧美aⅴ...| 国产原创一区二区| 欧美揉bbbbb揉bbbbb| 国产亚洲欧洲一区高清在线观看| 亚洲精品视频在线观看网站| 免费国产亚洲视频| 精品久久一区二区| 亚洲精品乱码久久久久| 国产精品中文欧美| 欧美电影一区二区三区| 亚洲欧洲av色图| 国产在线一区二区| 在线综合亚洲欧美在线视频| 中文字幕一区二区三区乱码在线 | av在线不卡观看免费观看| 欧美久久久久久久久| 亚洲天堂网中文字| 国产成人亚洲综合a∨婷婷| 91精品国产综合久久久久| 亚洲精品综合在线| 成人av网站大全| 精品久久久久久久久久久久包黑料 | 国产精品私人影院| 国产在线日韩欧美| 日韩欧美在线综合网| 香港成人在线视频| 欧美三级中文字幕| 一区二区三区国产精品| av在线免费不卡| 国产精品色噜噜| 国产高清视频一区| 久久综合丝袜日本网| 麻豆国产欧美日韩综合精品二区| 制服丝袜亚洲精品中文字幕| 亚洲伊人伊色伊影伊综合网| 成人黄色国产精品网站大全在线免费观看 | 国产精品成人免费| 成人中文字幕合集| 国产精品传媒视频| 成人免费观看av| 国产日本欧美一区二区| 国产高清不卡一区二区| 久久久亚洲精品一区二区三区| 91网站在线观看视频| 日韩一区中文字幕|