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

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

?? ewdpingdlg.cpp

?? VisualC++通信協議實現的源代碼
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
// EWDPingDlg.cpp : implementation file
//

//////////////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "EWDPing.h"
#include "EWDPingDlg.h"
#include "PingOptionsDlg.h"

//////////////////////////////////////////////////////////////////////////////

#include "RegKey.h"
#include "SysTCPIP.h"

//////////////////////////////////////////////////////////////////////////////

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

/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog
{
public:
	CAboutDlg();

// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAboutDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
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()

/////////////////////////////////////////////////////////////////////////////
// CEWDPingDlg dialog

CEWDPingDlg::CEWDPingDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CEWDPingDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CEWDPingDlg)
	m_Host = _T("");
	m_LocalHost = _T("");
	m_NameServer = _T("");
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CEWDPingDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CEWDPingDlg)
	DDX_Control(pDX, IDC_TraceList, m_TraceList);
	DDX_Text(pDX, IDC_DEST, m_Host);
	DDX_Text(pDX, IDC_LocalHost, m_LocalHost);
	DDX_Text(pDX, IDC_NameServer, m_NameServer);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CEWDPingDlg, CDialog)
	//{{AFX_MSG_MAP(CEWDPingDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDQUIT, OnQuit)
	ON_BN_CLICKED(IDC_PingButton, OnPingButton)
	ON_BN_CLICKED(IDC_TraceButton, OnTraceButton)
	ON_BN_CLICKED(IDC_OptionsButton, OnOptionsButton)
	ON_WM_TIMER()
	ON_BN_CLICKED(IDC_ClearButton, OnClearButton)
	ON_MESSAGE(WSA_PING_ASYNC, OnPINGAsynch)
	ON_BN_CLICKED(IDC_Stop, OnStop)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CEWDPingDlg message handlers

//////////////////////////////////////////////////////////////////////////
//																		//
//						MESSAGE INTERRUPT PROCESSORS					//
//																		//
//////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////
//										//
//		Initialize main dialog			//
//										//
//////////////////////////////////////////

//對話框初始化
BOOL CEWDPingDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	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

	PingSocket.icmpSocket = INVALID_SOCKET;
	PingSent = FALSE;

	FetchWinsockSettings();			// 獲得機器名、域名的屬性.

	if (!InitSockets())				// 如果初始化失敗則退出
		CDialog::OnCancel();

	InitImageList();				// 設定列表框圖標

	pIcmpBuffer = (LPSTR)icmpBuffer;// 設定緩沖區

	return TRUE; 
}

//////////////////////////////////////////////////
//												//
//		Control menu and max/min processor		//
//												//
//////////////////////////////////////////////////
void CEWDPingDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}

//////////////////////////////////////////
//										//
//			Repaint window				//
//										//
//////////////////////////////////////////
void CEWDPingDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

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

		// Center icon in client rectangle
		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();
	}
}

//////////////////////////////////////////
//										//
//		Called when icon is moving		//
//										//
//////////////////////////////////////////
HCURSOR CEWDPingDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

//////////////////////////////////////////////////////
//													//
//		PING Asynchronous Message Processor			//
//													//
//	Responds to received ICMP messages				//
//		Updates the Trace window with the round		//
//		trip time and sequence,						//
//		Stops the timer,							//
//		If not TRACING, exits.						//
//													//
//		If rcvSockAddr = TraceTarget, displays		//
//			host reached and exits.					//
//		If icmpMaxHops exceeded, displays host not	//
//			reached and exits. (icmpMaxHops is set	//
//			in EWDPing Options Dialog).				//
//		Displays next animated icon picture,		//
//			increments icmpHops and requests next	//
//			PING									//
//													//
//////////////////////////////////////////////////////
LRESULT CEWDPingDlg::OnPINGAsynch(WPARAM wParam, LPARAM lParam)
{

	int WSAEvent = WSAGETSELECTEVENT(lParam);
	int WSAError = WSAGETSELECTERROR(lParam);

	if (WSAError)
	{
		CString ErrorMessage;
		ErrorMessage.Format("WSAAsynch Event # %u, Error: %u", 
							WSAEvent, 
							WSAError);
		MessageBox (ErrorMessage, 
				    "CEWDPingDlg::OnPINGAsynch", 
					MB_OK|MB_SYSTEMMODAL);
	}
	
	StopTimer();

	switch (WSAEvent)
	{
	case FD_READ:

		if (PingSocket.Receive(pIcmpBuffer, sizeof icmpBuffer) == SOCKET_ERROR)
		{
			if (!PingSent)
				return 0;

			PingSocket.DisplayError ("FD_READ", 
									 "CEWDPingDlg::OnWSAAsynch");
		}

		else
		{
			DWORD	PingRoundTrip = PingSocket.icmpPingReceivedAt - PingSocket.icmpPingSentAt;

			if (PingSocket.icmpRoundTripTime > PingRoundTrip)
				PingSocket.icmpRoundTripTime = PingRoundTrip;
			
			if (PingSent)
			{
				UpdateTrace();
			
				if (!icmpTracing)
				{
					m_TraceList.InsertItem (m_TraceList.GetItemCount(), 
											"", 
											Icon_BlueArrow);
					SetTraceFocus (m_TraceList.GetItemCount()-1,
								   0);
					DisplayTrace ("","","Host Reached");

				}
			}
		}

		PingSent = FALSE;
		
		if (icmpTracing)
		{
			PingSocket.icmpHops++;
			if ( (PingSocket.icmpHops >= PingSocket.icmpMaxHops) ||
				 (TraceTarget.s_addr == PingSocket.rcvSockAddr.sin_addr.s_addr ))
			{
				EndTrace();
				m_TraceList.InsertItem (m_TraceList.GetItemCount(), 
										"", 
										Icon_BlueArrow);
				SetTraceFocus (m_TraceList.GetItemCount()-1,
							   0);
				DisplayTrace ("","","HOST Reached");
			}
			else
			{
				ChangeIconState();
				SendPing();
			}
		}

		break;

	case FD_WRITE:
		break;

	default:
		break;

	}

	return 0;
}

//////////////////////////////////////////////////////
//													//
//					End Trace Operation				//
//													//
//		Set ICON to default, and force screen to	//
//		be updated.  Reset icmpTracing so next		//
//		operation will be PING.						//
//													//
//////////////////////////////////////////////////////
void CEWDPingDlg::EndTrace(void)
{
	CStatic *	pDlgWnd;

	m_hIcon = AfxGetApp()->LoadIcon(IDI_CommLink1);		

	pDlgWnd=(CStatic*)GetDlgItem(IDC_CommLink);
	pDlgWnd->SetIcon(m_hIcon);						

	if(IsIconic())
	{
		InvalidateRect(NULL,TRUE);
	}

	icmpTracing = FALSE;

}

//////////////////////////////////////////////////////////////////////////
//																		//
//								TIMER SECTION							//
//																		//
//////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////
//															//
//				Process Timer Interrupt						//
//															//
//		If time-out period has not elapsed, increment		//
//		icmpIntervalCount, change the animated icon's state	//
//		and exit.											//
//															//
//		Otherwise, stop the timer, reset icon to default,	//
//		set receive address to null, and update the trace	//
//		display to show that the timer has expired.			//
//															//
//////////////////////////////////////////////////////////////

//計時器事件
void CEWDPingDlg::OnTimer(UINT id)
{

	CString		Message;
	CStatic *	pDlgWnd;
	//如果沒有超時則不斷改變圖標狀態,并將計時變量增加
	if (icmpIntervalCount < icmpMaxIntervals)
	{
		ChangeIconState ();
		icmpIntervalCount++;
		return;
	}

	StopTimer();
	PingSent = FALSE;

	m_hIcon = AfxGetApp()->LoadIcon(IDI_CommLink1);		

	pDlgWnd=(CStatic*)GetDlgItem(IDC_CommLink);
	pDlgWnd->SetIcon(m_hIcon);						

	if(IsIconic()) 
	{
		InvalidateRect(NULL,TRUE);
	}

	PingSocket.rcvSockAddr.sin_addr.s_addr = NULL;
	
	PingSocket.icmpRoundTripTime = PingSocket.icmpPingTimer * icmpMaxIntervals;
	UpdateTrace ();

	if (icmpTracing)
		SendPing();
}

//////////////////////////////////////////
//										//
//			Start the Timer				//
//										//
//	Start the timer and set TimerActive	//
//										//

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕一区三区| 4hu四虎永久在线影院成人| 国产精品免费视频网站| 国产.精品.日韩.另类.中文.在线.播放| 日韩精品一区二区三区蜜臀| 五月天精品一区二区三区| 91精品国产高清一区二区三区蜜臀 | 久久综合九色综合久久久精品综合| 免费成人av资源网| 国产亚洲视频系列| 91啪在线观看| 奇米影视一区二区三区小说| 久久精品亚洲精品国产欧美kt∨| 成人深夜在线观看| 五月激情综合色| 337p亚洲精品色噜噜噜| 国产不卡一区视频| 亚洲一区二区av电影| 日韩欧美高清一区| 91香蕉视频污在线| 久久精品国产一区二区三 | 成人av网站免费| 亚洲香肠在线观看| 久久久久久久综合狠狠综合| 一道本成人在线| 美女在线视频一区| 亚洲欧美偷拍三级| 精品国产一区二区亚洲人成毛片| 成人精品鲁一区一区二区| 亚洲一卡二卡三卡四卡无卡久久| 精品国产一区二区三区久久久蜜月| 国产成人精品免费| 日本视频在线一区| 亚洲色图欧美激情| 久久色成人在线| 欧美亚洲动漫另类| 国产99久久久国产精品潘金 | 欧美日韩精品三区| 高清不卡一区二区在线| 日本特黄久久久高潮| 综合久久久久综合| 久久久国际精品| 91精品在线免费| 在线亚洲一区二区| 国产91丝袜在线18| 日本不卡一区二区三区| 一区二区在线看| 欧美国产日韩一二三区| 精品国产乱码久久| 欧美猛男男办公室激情| 97se亚洲国产综合自在线观| 国产伦精一区二区三区| 免费看黄色91| 日韩精品午夜视频| 亚洲大片免费看| 亚洲黄色免费网站| 亚洲日本护士毛茸茸| 久久久久久久久久美女| 欧美大胆人体bbbb| 91精品久久久久久久99蜜桃| 欧美中文字幕不卡| 色婷婷激情一区二区三区| 99天天综合性| av电影在线观看一区| 成人午夜激情在线| 成人免费av网站| 成人h动漫精品一区二| 国产成人一区在线| 国产一区久久久| 国产伦精品一区二区三区免费| 日韩av在线免费观看不卡| 午夜av一区二区三区| 亚洲一区二区三区中文字幕| 伊人婷婷欧美激情| 亚洲国产人成综合网站| 亚洲国产成人av好男人在线观看| 综合婷婷亚洲小说| 亚洲视频在线一区| 亚洲精品视频在线| 亚洲国产aⅴ成人精品无吗| 夜夜嗨av一区二区三区| 伊人婷婷欧美激情| 石原莉奈在线亚洲三区| 免费成人在线视频观看| 久久99国产精品久久99果冻传媒| 蜜臀av性久久久久蜜臀aⅴ流畅 | 亚洲免费在线观看视频| 一区二区高清在线| 香蕉成人伊视频在线观看| 丝袜亚洲精品中文字幕一区| 日本伊人午夜精品| 精品亚洲porn| 99久久精品免费观看| 日本精品一级二级| 欧美猛男超大videosgay| 日韩精品一区二区三区中文精品| 久久久久综合网| 国产精品久久久久久久久晋中 | 色域天天综合网| 欧美日韩不卡一区二区| 亚洲精品一线二线三线无人区| 久久夜色精品国产欧美乱极品| 国产精品电影院| 视频一区二区国产| 成人一区二区三区视频| 色综合久久综合中文综合网| 91精品国产免费久久综合| 国产女主播视频一区二区| 亚洲欧美一区二区三区国产精品 | 亚洲美腿欧美偷拍| 日本欧美在线看| 国产成人啪免费观看软件| 99视频有精品| 日韩一二在线观看| 国产精品久久久久影院亚瑟| 天堂久久一区二区三区| 国产电影精品久久禁18| 一本到三区不卡视频| 日韩欧美激情四射| 亚洲美女偷拍久久| 国产一区二区三区视频在线播放| 91免费版在线看| 精品裸体舞一区二区三区| 亚洲精品高清在线| 国产福利一区在线观看| 欧美日韩不卡在线| 中文字幕日韩欧美一区二区三区| 青青青伊人色综合久久| www.日本不卡| 欧美成人艳星乳罩| 同产精品九九九| av午夜一区麻豆| 欧美成人猛片aaaaaaa| 亚洲在线视频一区| 9人人澡人人爽人人精品| 日韩免费观看高清完整版在线观看| 亚洲情趣在线观看| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 粉嫩13p一区二区三区| 4438x成人网最大色成网站| 自拍偷拍亚洲欧美日韩| 国产精品538一区二区在线| 91精品国产综合久久久久久| 一区二区三区在线免费播放| www.欧美日韩| 中文字幕乱码一区二区免费| 久久99精品国产91久久来源| 欧美日韩大陆在线| 亚洲国产综合色| 色综合视频在线观看| 国产精品免费丝袜| 国产精品综合在线视频| 日韩视频免费观看高清完整版 | 日韩视频一区二区三区| 丝袜亚洲精品中文字幕一区| 欧美午夜电影在线播放| 一区二区三区色| 色综合天天综合网天天看片| 中文字幕不卡三区| 国产91高潮流白浆在线麻豆| 久久久久久久久久久久电影 | 欧美三级视频在线| 夜夜爽夜夜爽精品视频| 在线免费观看不卡av| 亚洲午夜电影网| 欧美日韩在线直播| 亚洲成人av一区二区| 欧美色成人综合| 亚洲午夜激情网页| 制服视频三区第一页精品| 青青国产91久久久久久| 日韩精品中文字幕一区二区三区 | thepron国产精品| 中文字幕在线播放不卡一区| 99vv1com这只有精品| 亚洲人一二三区| 在线精品亚洲一区二区不卡| 午夜a成v人精品| 欧美成人女星排行榜| 国产高清一区日本| 亚洲色图欧美在线| 欧美日韩国产大片| 麻豆国产一区二区| 国产日韩av一区二区| 色综合天天综合狠狠| 亚洲狠狠爱一区二区三区| 日韩欧美视频一区| 粉嫩高潮美女一区二区三区| 亚洲精选视频在线| 制服丝袜激情欧洲亚洲| 国产黄人亚洲片| 亚洲激情在线播放| 欧美一区二区三区啪啪| 丁香啪啪综合成人亚洲小说| 亚洲欧美成人一区二区三区| 91精品国产福利在线观看| 国产精品一二三四| 一区二区久久久| 欧美zozozo| 日本韩国精品在线|