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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ewdpingdlg.cpp

?? Visual+C++網(wǎng)絡(luò)通信協(xié)議分析
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
//////////////////////////////////////////
void CEWDPingDlg::StartTimer()
{

	TimerActive = FALSE;
	
	icmpIntervalCount = 0;
	icmpMaxIntervals = (PingSocket.icmpPingTimer / MAX_INTERVAL_TIME);

	TimerNumber = SetTimer(IDT_TIMER1, MAX_INTERVAL_TIME, NULL);
	if (TimerNumber != 0)
		TimerActive = TRUE;
	
	return;

}

//////////////////////////////////////////////
//											//
//				Stop the Timer				//
//											//
//	Issue KillTimer and reset TimerActive	//
//											//
//////////////////////////////////////////////
void CEWDPingDlg::StopTimer()
{

	if (TimerActive)
		KillTimer (TimerNumber);
	TimerActive = FALSE;
}

//////////////////////////////////////////////////
//												//
//				Change Icon State				//
//												//
//		Select the next icon image to display	//
//		increment the IconState and invoke		//
//		icon display							//
//												//
//////////////////////////////////////////////////

void CEWDPingDlg::ChangeIconState(void)
{
	int			IconId;
	CStatic *	pDlgWnd;

	switch (IconState % 4)
	{
	case 0:
		IconId = IDI_CommLink2;
		break;
	case 1:
		IconId = IDI_CommLink3;
		break;
	case 2:
		IconId = IDI_CommLink4;
		break;
	case 3:
		IconId = IDI_CommLink3;
		break;
	default:
		IconId = IDI_CommLink1;
		break;
	}
	
	IconState++;

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

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

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

}

//////////////////////////////////////////////////////////////////////////
//																		//
//							BUTTON HANDLING SECTION						//
//																		//
//////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////
//											//
//			Issue PING Request				//
//											//
//	Set IconState to default, Set icmpTTL	//
//	to MaxHops, reset icmpTracing, and		//
//	issue IcmpPing request.					//
//											//
//////////////////////////////////////////////
//PING按鈕處理程序
void CEWDPingDlg::OnPingButton() 
{
	IconState = 0;
	//列表框插入一條空記錄
	DisplayBlankLine ();
	
	icmpTracing = FALSE;
	icmpPingTTL = PingSocket.icmpMaxHops;

	PingSocket.icmpCurSeq = 0;
	//調(diào)用SENDPING函數(shù)發(fā)送PING 命令
	SendPing ( );
}

//////////////////////////////////////////
//										//
//			Trace Route Request			//
//										//
//	Set icmpPingTTL to 0, icmpHops to	//
//	0, set default icon and output		//
//	message about the target, then		//
//	issue a PING with icmpTracing set	//
//	to TRUE to start tracing.			//
//										//
//////////////////////////////////////////

//單擊"trace route"按鈕處理程序
void CEWDPingDlg::OnTraceButton() 
{
	//列表框插入一個空白項
	DisplayBlankLine ();
	//設(shè)定TTL為0
	icmpPingTTL = 0;
	PingSocket.icmpHops = 0;
	//圖標(biāo)狀態(tài)為0
	IconState = 0;

	PingSocket.icmpCurSeq = 0;
	//設(shè)定地址
	TraceTarget.s_addr = HostIPAddress();
	CString TComment;
	TComment.Format("Trace Target = %s",
				    inet_ntoa(TraceTarget));
	//活動TRACE的信息
	TraceComment (TComment);

	icmpTracing = TRUE;
	//調(diào)用SendPing函數(shù)
	SendPing ( );
}

//////////////////////////////////////////
//										//
//			Stop Current Ping			//
//										//
//////////////////////////////////////////
void CEWDPingDlg::OnStop() 
{

	if (!PingSent)
		return;
	
	PingSent = FALSE;

	StopTimer();
	EndTrace();

	m_TraceList.InsertItem (m_TraceList.GetItemCount(), 
							"", 
							Icon_BlueArrow);
	SetTraceFocus (m_TraceList.GetItemCount()-1,
				   0);
	DisplayTrace ("","","Operation CANCELLED");

}

//////////////////////////////////////////
//										//
//			Clear Display List			//
//										//
//	Delete all items from ListCtrl box	//
//										//
//////////////////////////////////////////
void CEWDPingDlg::OnClearButton() 
{
	if (!PingSent)
 		m_TraceList.DeleteAllItems();
	
}

//////////////////////////////////////////
//										//
//			Set operating options		//
//										//
//	Copy current option settings to		//
//	interchange variables, invoke		//
//  options dialog.						//
//										//
//	Exit dialog if option dialog was	//
//	cancelled.							//
//										//
//	Update current option variables and //
//	save in the Registry.				//
//										//
//////////////////////////////////////////
void CEWDPingDlg::OnOptionsButton() 
{

	CPingOptionsDlg OptionsDlg;

	OptionsDlg.m_BufferSize = icmpDataLen;
	OptionsDlg.m_DefaultHost = DefHost;
	OptionsDlg.m_PingTimeout = PingSocket.icmpPingTimer;
	OptionsDlg.m_MaxHops = PingSocket.icmpMaxHops;

	int Result = OptionsDlg.DoModal();

	if (Result != IDOK)
		return;

	icmpDataLen = OptionsDlg.m_BufferSize;
	DefHost = OptionsDlg.m_DefaultHost;
	PingSocket.icmpPingTimer = OptionsDlg.m_PingTimeout;
	PingSocket.icmpMaxHops = OptionsDlg.m_MaxHops;

	SaveRegValues();
	
}

//////////////////////////////////////////
//										//
//		Shut down pinger and exit		//
//										//
//////////////////////////////////////////
void CEWDPingDlg::OnQuit() 
{

	StopTimer ();
	PingSocket.CloseIcmpSocket();
	CDialog::OnOK();

}

//////////////////////////////////////////////////////////////////////////
//																		//
//							SOCKET SUPPORT SECTION						//
//																		//
//////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////
//												//
//			Send a PING Message					//
//												//
//		Sends a PING message to the currently	//
//		selected host.							//
//												//
//		If icmpTracing is TRUE,					//
//			increment and set icmpPingTTL to	//
//			reach the next node in the Internet //
//			tree. Note: must timeout for a small//
//			period of time to allow TTL to		//
//			complete.							//
//												//
//		Start the timer and issue the Icmp Ping	//
//												//
//////////////////////////////////////////////////

//發(fā)送PING消息包到目的主機(jī)
void CEWDPingDlg::SendPing(void)
{

	PingSent = TRUE;
	PingSocket.icmpCurSeq++;
	PingSocket.icmpCurId = (USHORT)GetCurrentProcessId();

	PingSocket.icmpHostAddress = HostIPAddress();
	
	//如果目標(biāo)地址為空,則返回
	if (PingSocket.icmpHostAddress == NULL)
		return;
	//如果icmpTracing為真,則必須將
	if (icmpTracing)
	{
		icmpPingTTL++;
	
    }
	//設(shè)定TTL
	if (PingSocket.SetTTL (icmpPingTTL) == SOCKET_ERROR)
	{
		PingSocket.DisplayError ("setsocket(TTL)",
								 "CEWDPingDlg::SendPing");
		return;
	}
	//要設(shè)定一定的時間讓TTL設(shè)定完成
	Sleep (100);
	
	//顯示序列號,同時用藍(lán)色尖頭表示出來
	SetTraceSequence (PingSocket.icmpCurSeq, 
					  m_TraceList.GetItemCount(), 
					  Icon_BlueArrow);

	//設(shè)定地址
	PingSocket.icmpSockAddr.sin_family = PF_INET;
	PingSocket.icmpSockAddr.sin_addr.s_addr = PingSocket.icmpHostAddress;
	PingSocket.icmpSockAddr.sin_port = 0;
	//開始計時
	StartTimer();
	//調(diào)用PING函數(shù)發(fā)出PING命令
	if (PingSocket.Ping (pIcmpBuffer, icmpDataLen) == SOCKET_ERROR)
		PingSocket.DisplayError("Ping", "CEWDPingDlg::SendPing");

}

//////////////////////////////////////////////////////
//													//
//					HostIPAddress					//
//													//
//		Return the IP Address for the curently		//
//		selected host in Internet byte order.		//
//													//
//		GetIPAddress leaves a copy of the address	//
//		in icmpSockAddr and sets HostName to its	//
//		DNS official name.							//
//													//
//////////////////////////////////////////////////////
unsigned long CEWDPingDlg::HostIPAddress()
{

	unsigned long		iHostAddress;

	GetDlgItemText (IDC_DEST, HostName, MAXHOSTNAME);

	iHostAddress = PingSocket.GetIPAddress ((LPSTR)&HostName);

	if ((iHostAddress == INADDR_ANY) || (iHostAddress == NULL))
	{
		PingSocket.DisplayError ("gethostbyname", 
								 "CEWDPingDlg::HostIPAddress");
		iHostAddress = NULL;
	}
	
	else
		
		SetDlgItemText (IDC_DEST, HostName);

	return iHostAddress;
}


//////////////////////////////////////////////////////////////////////////
//																		//
//					CListCtrl and Image List Sections					//
//																		//
//////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////
//										//
//		Initialize Image Lists			//
//										//
//	The small image list is used, the	//
//	large is not, but is initialized	//
//	anyhow since they exist.			//
//										//
//////////////////////////////////////////
void CEWDPingDlg::InitImageList()
{

	//
	//		Create the image lists and add the icons
	//

	smallImageList.Create(16,16,FALSE,1,1);
	largeImageList.Create(32,32,FALSE,1,1);

	HICON TIcon;
	
	TIcon = LoadIcon(AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_Blank));
	smallImageList.Add (TIcon);
	largeImageList.Add (TIcon);

	TIcon = LoadIcon(AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_BlueArrow));
	smallImageList.Add (TIcon);
	largeImageList.Add (TIcon);

	//
	//		Assign the image lists to the list view
	//
	m_TraceList.SetImageList (&largeImageList, LVSIL_NORMAL);
	m_TraceList.SetImageList (&smallImageList, LVSIL_SMALL);
	
	//
	//		Initialize the columns and headings
	//
	AddListColumn (0, 
				   LVCFMT_RIGHT, 
				   m_TraceList.GetStringWidth("SEQXX")+5, 
				   "SEQ",
				   0);
	AddListColumn (1, 
				   LVCFMT_RIGHT, 
				   m_TraceList.GetStringWidth("TIMEXX")+5, 
				   "時間",
				   1);
	AddListColumn (2, 
				   LVCFMT_LEFT, 
				   m_TraceList.GetStringWidth("255.255.255.255.1")+10, 
				   "IP地址",
				   2);
	AddListColumn (3, 
				   LVCFMT_LEFT, 
				   m_TraceList.GetStringWidth("XXXXXXXXEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE"), 
				   "信息", 
				   3);

}

//////////////////////////////////////////////
//											//
//		Create Column Headings/Widths		//
//											//
//////////////////////////////////////////////
int CEWDPingDlg::AddListColumn(int lcolumn, int lfmt, int lmaxwidth, LPSTR ltext, int lsubitem)
{

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲尤物视频在线| 亚洲高清视频在线| 色婷婷久久99综合精品jk白丝| 久久久不卡网国产精品二区| 在线观看日韩电影| 久久99热国产| 午夜不卡在线视频| 国产色产综合色产在线视频| 日本电影亚洲天堂一区| 国产成人精品三级| 日精品一区二区| 一区二区三区中文在线| 久久这里都是精品| 91热门视频在线观看| 国产超碰在线一区| 日本欧美加勒比视频| 亚洲一区二区视频在线| 国产亚洲欧美日韩日本| 日韩欧美区一区二| 欧美性猛片aaaaaaa做受| 美女视频免费一区| 首页国产欧美日韩丝袜| 国产精品久久久久影院亚瑟| 久久免费偷拍视频| 日韩一区二区高清| 8x福利精品第一导航| 91丨porny丨国产入口| 老司机精品视频在线| 琪琪一区二区三区| 亚洲综合在线观看视频| 亚洲欧美激情插| 国产午夜精品理论片a级大结局| 精品国产凹凸成av人网站| 欧美色网站导航| voyeur盗摄精品| 91免费国产在线| av一区二区三区在线| 成人av在线资源网站| 蜜臀av一区二区在线观看 | 欧美乱妇20p| 91亚洲国产成人精品一区二三| av资源网一区| av不卡免费电影| 粉嫩aⅴ一区二区三区四区五区| 国产美女视频一区| 极品美女销魂一区二区三区免费| 久久精品av麻豆的观看方式| 丝袜美腿亚洲综合| 亚洲一区二区三区中文字幕| 亚洲人成影院在线观看| 国产精品美女视频| 亚洲美女偷拍久久| 亚洲老司机在线| 亚洲精品视频在线观看免费| 中文字幕日本不卡| 一区二区三区在线观看欧美| 亚洲美女精品一区| 一区二区三区美女视频| 天堂蜜桃91精品| 亚洲6080在线| 国模一区二区三区白浆| 精品一区二区三区视频 | 国产一区欧美二区| 国产美女在线观看一区| 成人性生交大片免费看视频在线 | 亚洲区小说区图片区qvod| 中文字幕巨乱亚洲| 亚洲黄色片在线观看| 亚洲国产综合91精品麻豆| 免费在线欧美视频| 久久99精品视频| 91麻豆免费看片| 欧美男女性生活在线直播观看| 精品少妇一区二区三区在线视频| 久久亚洲捆绑美女| 国产精品久久福利| 强制捆绑调教一区二区| 精品一区二区三区免费播放| 99精品视频在线观看| 欧美日免费三级在线| 精品日韩在线一区| 精品国产网站在线观看| 国产精品午夜免费| 亚洲精品乱码久久久久久黑人| 天天综合天天做天天综合| 国产精品一区二区三区99| 成人免费视频国产在线观看| 欧美日韩国产免费一区二区| 欧美一区二区视频在线观看2020| 亚洲精品在线观看网站| 综合色中文字幕| 九九**精品视频免费播放| 盗摄精品av一区二区三区| 成人开心网精品视频| 欧美精品vⅰdeose4hd| 国产人久久人人人人爽| 欧美a一区二区| 成人午夜视频在线| 欧美一区二区三区喷汁尤物| 国产精品福利影院| 狠狠v欧美v日韩v亚洲ⅴ| 91丨九色丨尤物| 色诱亚洲精品久久久久久| 日韩免费观看高清完整版| 国产精品美女久久久久久2018| 欧美aaaaa成人免费观看视频| 成人福利电影精品一区二区在线观看| 欧美一区二区三区性视频| 国产精品―色哟哟| 精品一区二区三区免费| 成人久久久精品乱码一区二区三区| 欧美日韩精品专区| 国产精品私人影院| 麻豆精品视频在线观看免费| 欧美专区日韩专区| 国产色一区二区| 国产一区二区三区最好精华液 | 欧美色倩网站大全免费| 亚洲三级久久久| 国产成人自拍高清视频在线免费播放| 8x8x8国产精品| 一级女性全黄久久生活片免费| 不卡的看片网站| 欧美大片在线观看一区二区| 三级影片在线观看欧美日韩一区二区 | 卡一卡二国产精品| 欧美日韩国产一二三| 最新日韩av在线| 91在线视频官网| 欧美国产一区在线| 国产精品99久久久久久似苏梦涵| 3d动漫精品啪啪1区2区免费 | 久久国产精品色| 欧美久久高跟鞋激| 亚洲高清中文字幕| 色婷婷综合久久久| 玉足女爽爽91| 成人在线综合网站| 国产精品视频一二三| 国产大陆亚洲精品国产| 久久久.com| 国产精品一卡二卡| 国产婷婷精品av在线| 麻豆成人免费电影| 日韩一卡二卡三卡国产欧美| 亚洲gay无套男同| 欧美视频日韩视频| 日韩av在线发布| 欧美色图在线观看| 日精品一区二区三区| 欧美精品tushy高清| 伦理电影国产精品| 精品国产乱码91久久久久久网站| 久久99蜜桃精品| 精品成人在线观看| 国产suv精品一区二区883| 国产欧美精品一区二区三区四区| 精品无码三级在线观看视频| 精品少妇一区二区三区在线播放| 免费看欧美女人艹b| 久久久久免费观看| 国产乱色国产精品免费视频| 欧美国产日产图区| 成人三级伦理片| 一区二区欧美视频| 欧美精品九九99久久| 黑人精品欧美一区二区蜜桃| 久久综合色之久久综合| 成人av在线播放网址| 成人欧美一区二区三区1314| 欧美日本一区二区| 日本午夜精品视频在线观看 | 懂色av一区二区在线播放| 欧美韩日一区二区三区四区| 99久久久久久99| 亚洲激情网站免费观看| 欧美一区二区精品| 精品一区精品二区高清| 国产精品福利一区| 欧美日韩一区久久| 国产一区二区三区蝌蚪| 国产精品日日摸夜夜摸av| 欧美日本免费一区二区三区| 精品在线免费视频| 亚洲精品视频一区二区| 日韩一区二区在线看| av激情综合网| 日韩综合小视频| 中文字幕中文字幕在线一区| 欧美性高清videossexo| 国产成人精品午夜视频免费 | 一区二区免费在线播放| 久久一区二区三区四区| 色猫猫国产区一区二在线视频| 久久疯狂做爰流白浆xx| 日韩理论片一区二区| 久久久久久久久久美女| 欧美日韩在线播放三区四区| 成人a区在线观看| 视频在线在亚洲|