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

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

?? ewdpingdlg.cpp

?? Visual+C++網絡通信協議分析
?? 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一区二区三区免费野_久草精品视频
日韩欧美精品在线视频| 色欧美乱欧美15图片| 亚洲欧洲一区二区在线播放| 日韩免费性生活视频播放| 日韩欧美在线一区二区三区| 7777精品伊人久久久大香线蕉的 | 欧美日韩国产美| 欧美日韩视频不卡| www亚洲一区| 亚洲欧美视频一区| 精品一区二区综合| 日韩电影在线一区二区三区| 日韩精品欧美精品| 成人国产一区二区三区精品| 色悠悠久久综合| 久久精品亚洲麻豆av一区二区| 欧美国产精品一区二区三区| 一区二区三区在线视频观看58 | 国产剧情一区二区三区| 99精品国产99久久久久久白柏| 色婷婷av一区二区三区软件 | 成人毛片在线观看| 欧美一级片在线看| 日韩精彩视频在线观看| 色综合久久久久综合99| 国产日韩欧美精品电影三级在线| 亚洲成人1区2区| 欧美影院精品一区| 亚洲人成网站精品片在线观看 | 99在线精品一区二区三区| 91精品综合久久久久久| 亚洲国产精品视频| 欧美丰满嫩嫩电影| 555www色欧美视频| 亚洲欧洲韩国日本视频| 国产精品77777竹菊影视小说| 日韩精品一区二区三区四区 | 成av人片一区二区| 国产精品国产三级国产a| 国产精品一区一区三区| 亚洲天堂久久久久久久| 欧美羞羞免费网站| 精品亚洲成a人在线观看| 欧美草草影院在线视频| 国产精品99久久久久久久女警| 中文字幕不卡三区| 91福利在线导航| 老司机精品视频在线| 国产亚洲一区二区三区| 欧美探花视频资源| 国产99久久久国产精品免费看| 国产精品入口麻豆九色| 7799精品视频| 91丨porny丨中文| 国产精品一区不卡| 日韩不卡一二三区| 亚洲男女毛片无遮挡| 欧美精品第1页| 波多野结衣91| 国产一区在线看| 视频一区视频二区中文字幕| xfplay精品久久| 欧美成人三级在线| 欧美区在线观看| 欧美日韩视频在线第一区 | 丁香一区二区三区| 久久99久久久久| 免费观看日韩电影| 奇米888四色在线精品| 天天综合色天天综合| 亚洲精品欧美在线| 午夜精品国产更新| 奇米精品一区二区三区四区| 欧美日韩一区中文字幕| 激情综合色综合久久| 久久精品二区亚洲w码| 丝袜脚交一区二区| 久久66热偷产精品| 国精品**一区二区三区在线蜜桃| 日本在线不卡一区| 国产一区二区福利| 日本道精品一区二区三区| 欧美在线看片a免费观看| 欧美裸体bbwbbwbbw| 日韩欧美一区电影| 国产精品国产自产拍在线| 国产精品视频一二三区| 亚洲你懂的在线视频| 捆绑调教一区二区三区| 成人性生交大合| 欧美综合视频在线观看| 欧美一级黄色片| 一区二区三区加勒比av| 狠狠久久亚洲欧美| 色综合天天性综合| 久久久久久久久蜜桃| 亚洲国产精品一区二区久久| 国产一区二区三区| 欧美一级国产精品| 亚洲成人在线免费| 国产毛片精品视频| 欧美在线免费观看视频| 久久久久久久久久久久久夜| 亚洲va韩国va欧美va| 99精品国产热久久91蜜凸| 日韩精品资源二区在线| 日本成人中文字幕在线视频 | 51久久夜色精品国产麻豆| 18涩涩午夜精品.www| 97精品国产97久久久久久久久久久久 | 在线视频亚洲一区| 夜夜爽夜夜爽精品视频| 91传媒视频在线播放| 亚洲女爱视频在线| 欧美在线free| 国产日韩欧美一区二区三区综合| 日韩亚洲欧美一区二区三区| 亚洲精品乱码久久久久久久久 | 色欧美片视频在线观看在线视频| 国产精品九色蝌蚪自拍| 99精品久久99久久久久| 亚洲青青青在线视频| 欧美日韩一区二区三区高清| 日本午夜一本久久久综合| 26uuu国产电影一区二区| 成人爽a毛片一区二区免费| 一区二区三区不卡在线观看| 91精品中文字幕一区二区三区| 久久国产尿小便嘘嘘尿| 18涩涩午夜精品.www| 日韩欧美三级在线| 色天天综合久久久久综合片| 免费在线欧美视频| 一级女性全黄久久生活片免费| 欧美日韩一级二级| 成人黄动漫网站免费app| 美女高潮久久久| 性久久久久久久| 亚洲精品一二三四区| 久久精品亚洲一区二区三区浴池| 欧美日韩一区在线观看| 91麻豆免费看片| 成人av免费在线播放| 国产激情一区二区三区桃花岛亚洲| 亚洲欧美一区二区不卡| 国产精品久久久久天堂| 国产午夜精品一区二区| 日韩西西人体444www| 日韩限制级电影在线观看| 91精品综合久久久久久| 制服丝袜中文字幕一区| 3atv在线一区二区三区| 欧美高清性hdvideosex| 制服丝袜成人动漫| 欧美美女激情18p| 精品国产在天天线2019| 久久久久成人黄色影片| 国产丝袜欧美中文另类| 国产精品国产精品国产专区不片 | 国产成人av一区二区| 国产乱码字幕精品高清av| 成人国产精品视频| 精品少妇一区二区三区日产乱码| 免费精品99久久国产综合精品| 亚洲视频每日更新| 日韩avvvv在线播放| 丁香六月综合激情| 欧美日韩亚州综合| 国产日产欧美一区| 亚洲成av人综合在线观看| 国产精品18久久久久久久网站| 91麻豆免费观看| 日本一区二区三区久久久久久久久不| 国产精品国产三级国产专播品爱网 | 色综合久久久网| 久久久亚洲欧洲日产国码αv| 国产精品欧美久久久久无广告 | 91麻豆国产福利在线观看| 欧美一级日韩免费不卡| 亚洲成人自拍偷拍| 97久久精品人人做人人爽50路 | 91啪九色porn原创视频在线观看| 91精品久久久久久蜜臀| 一区二区三区av电影| 福利一区在线观看| 久久久亚洲国产美女国产盗摄| 亚洲一区二区三区在线| 99久久99久久免费精品蜜臀| 精品国精品自拍自在线| 蜜乳av一区二区| 精品99久久久久久| 国产一区啦啦啦在线观看| 国产欧美精品一区二区色综合| 看片的网站亚洲| 国产午夜亚洲精品不卡| 成人h动漫精品一区二| 最新中文字幕一区二区三区| 99re成人精品视频| 免费视频一区二区| 国产精品美女久久久久久久久|