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

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

?? ewdpingdlg.cpp

?? 網絡通信方面的代碼書非常經典歡迎大家下載并學習
?? 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一区二区三区免费野_久草精品视频
国产在线精品视频| 国产一区二区电影| 国产精品99久久久久久宅男| 99re热这里只有精品视频| 日韩亚洲欧美在线观看| 亚洲免费av在线| 国产精一区二区三区| 欧美日韩高清一区二区不卡 | 国产盗摄精品一区二区三区在线| 99精品视频在线免费观看| 精品日韩av一区二区| 亚洲免费观看高清完整版在线观看| 国内精品嫩模私拍在线| 777xxx欧美| 亚洲福利视频导航| 国产aⅴ综合色| 欧美系列在线观看| 欧美在线免费观看亚洲| 日本一区二区久久| 久国产精品韩国三级视频| 欧美丝袜丝交足nylons| 亚洲免费电影在线| 91久久奴性调教| 亚洲欧洲av一区二区三区久久| 紧缚捆绑精品一区二区| 欧美大片免费久久精品三p| 亚洲va韩国va欧美va| 欧美性色黄大片| 亚洲一区二区三区四区不卡| 色网综合在线观看| 亚洲三级在线观看| 成人av第一页| 亚洲欧美综合色| 97国产一区二区| 亚洲乱码中文字幕| 色婷婷精品大视频在线蜜桃视频| 国产精品国产a级| 91美女片黄在线观看91美女| 一区二区三区自拍| 欧美三级韩国三级日本三斤| 亚洲福利国产精品| 制服丝袜日韩国产| 极品销魂美女一区二区三区| 精品剧情v国产在线观看在线| 九九视频精品免费| 国产欧美日韩在线观看| 欧美最猛黑人xxxxx猛交| 亚洲二区在线视频| 这里是久久伊人| 国产精品2024| 日韩美女视频一区| 欧美午夜一区二区三区| 日本最新不卡在线| 国产午夜精品美女毛片视频| 丁香五精品蜜臀久久久久99网站 | 欧美日韩一卡二卡| 免费国产亚洲视频| 中文字幕av不卡| 在线免费观看日本欧美| 青青草国产精品97视觉盛宴| 久久男人中文字幕资源站| 成人动漫一区二区在线| 亚洲第一成人在线| 国产天堂亚洲国产碰碰| 99视频精品全部免费在线| 午夜精彩视频在线观看不卡| 日韩欧美国产一区二区在线播放| 国产成人在线网站| 一区二区三区精品久久久| 欧美精品一区二区久久久| 91在线精品一区二区| 青青草国产精品97视觉盛宴| 欧美国产精品久久| 欧美顶级少妇做爰| 91啪在线观看| 狠狠色丁香婷综合久久| 亚洲精品va在线观看| 久久久久久久综合| 777xxx欧美| 91一区一区三区| 国产高清精品在线| 日韩高清不卡一区| 夜色激情一区二区| 国产精品美女www爽爽爽| 日韩一区国产二区欧美三区| 一本色道久久综合亚洲精品按摩| 国产精品亚洲成人| 免费不卡在线观看| 亚洲狠狠爱一区二区三区| 国产清纯白嫩初高生在线观看91 | 欧美视频完全免费看| 福利一区二区在线观看| 美女性感视频久久| 亚洲国产裸拍裸体视频在线观看乱了| 国产亚洲va综合人人澡精品| 欧美日韩国产免费| 97精品久久久久中文字幕| 蓝色福利精品导航| 日韩精品国产精品| 亚洲国产va精品久久久不卡综合| 久久久久久久网| 久久亚洲一级片| 欧美日韩亚洲国产综合| 欧美在线视频你懂得| 成人理论电影网| 国产在线一区观看| 青青青伊人色综合久久| 亚洲裸体xxx| 视频一区二区欧美| 日韩伦理av电影| 国产精品激情偷乱一区二区∴| 日韩美一区二区三区| 欧美顶级少妇做爰| 91国内精品野花午夜精品| 日本伦理一区二区| 欧美性xxxxx极品少妇| 日本不卡视频在线| 国产精品久久久久一区| 中文子幕无线码一区tr| 日本伦理一区二区| 欧美亚洲图片小说| av在线免费不卡| 国产精品一区二区久激情瑜伽| 国产剧情一区二区| 国产在线精品国自产拍免费| 国产成人综合视频| 国产精品1区2区3区| 成人国产一区二区三区精品| 国产91对白在线观看九色| 99久久免费精品| www.视频一区| 欧美喷潮久久久xxxxx| 国产精品亚洲一区二区三区妖精| 国产盗摄一区二区| 91一区二区在线观看| 99精品国产91久久久久久| 欧美私模裸体表演在线观看| 欧美一区二区久久| 欧美羞羞免费网站| 91免费版在线| 91麻豆精品91久久久久久清纯| 日韩一区二区在线观看| 日韩欧美中文字幕一区| 精品剧情v国产在线观看在线| 日韩一区二区麻豆国产| 国产亚洲欧美一级| 中文字幕亚洲欧美在线不卡| 激情综合网激情| 国产一区欧美二区| 不卡影院免费观看| 久久99最新地址| 国产成人在线视频播放| 欧美性猛交xxxxxx富婆| 日韩欧美aaaaaa| 亚洲黄色小说网站| 美日韩黄色大片| 91视视频在线直接观看在线看网页在线看| 97se亚洲国产综合自在线观| 欧美一区二区在线视频| 日韩精品资源二区在线| 专区另类欧美日韩| 激情亚洲综合在线| 91女厕偷拍女厕偷拍高清| 91精品国产乱码久久蜜臀| 久久久91精品国产一区二区精品| 一区二区三区在线播放| 蜜桃视频一区二区三区在线观看 | 三级久久三级久久| 国产黄色91视频| 欧美一区二区三区色| 中文字幕字幕中文在线中不卡视频| 亚洲超丰满肉感bbw| 成人激情小说网站| 91精品在线免费观看| 亚洲摸摸操操av| 经典三级一区二区| 精品视频1区2区| 国产精品视频一二三区| 美国一区二区三区在线播放| 欧美视频在线播放| 国产精品乱码久久久久久| 狠狠色丁香婷婷综合久久片| 一本色道**综合亚洲精品蜜桃冫| 国产亚洲精品超碰| 舔着乳尖日韩一区| 91九色最新地址| 视频一区中文字幕| 大胆亚洲人体视频| 国产色婷婷亚洲99精品小说| 午夜私人影院久久久久| 在线观看视频一区二区| 国产无一区二区| 国产尤物一区二区在线| 欧美成va人片在线观看| 亚洲一区二区三区视频在线播放| 一本色道久久综合亚洲aⅴ蜜桃 | 91丨porny丨中文| 国产精品久久久久一区二区三区| 国产精品538一区二区在线| 日韩欧美一区二区免费|