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

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

?? mento supplicantdlg.cpp

?? 一個非常漂亮的802.1x客戶端源代碼
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
	ShowWindow( SW_SHOW );
	SetForegroundWindow();
}

void CMentoSupplicantDlg::OnMinimize()
{
	//如果是開機自動運行且為托盤圖標激活,則不生效最小化
	if ( m_bIsStartupConnect && m_iCallWay == 0 )
	{
//		m_bIsStartupConnect = false;
		return;
	}

	if ( m_bMinimizeModeSign )
		return;
	m_HotKey.GetHotKey( m_wVirtualKey, m_wKeyModifier );
	if ( m_iCallWay == 0 )
	{
		m_Notify.cbSize = sizeof(NOTIFYICONDATA);
		m_Notify.hWnd = GetSafeHwnd();
		m_Notify.uID = 0;
		m_Notify.uFlags = NIF_ICON|NIF_MESSAGE|NIF_TIP;
		m_Notify.uCallbackMessage = WM_COMMAND;
		switch ( m_iState )
		{
		case IDT_DISCONNECT:
			m_Notify.hIcon = (HICON)LoadImage(AfxGetInstanceHandle(),
				MAKEINTRESOURCE(IDI_FAILED),IMAGE_ICON,16,16,NULL);
			lstrcpy(m_Notify.szTip,"Mento Supplicant -- 認證失敗或未認證!!");
			break;
		case IDT_FIND_SERVER:
		case IDT_ACK_NAME:
		case IDT_ACK_PSWD:
			m_Notify.hIcon = (HICON)LoadImage(AfxGetInstanceHandle(),
				MAKEINTRESOURCE(IDI_CERTTING),IMAGE_ICON,16,16,NULL);
			lstrcpy(m_Notify.szTip,"Mento Supplicant -- 正在認證...");
			break;
		case IDT_ACK_ECHO:
			m_Notify.hIcon = (HICON)LoadImage(AfxGetInstanceHandle(),
				MAKEINTRESOURCE(IDI_SUCCESS),IMAGE_ICON,16,16,NULL);
			lstrcpy(m_Notify.szTip,"Mento Supplicant -- 認證成功!!");
			break;
		}
		Shell_NotifyIcon(NIM_ADD,&m_Notify);
	}
	else if ( m_iCallWay == 1 )
	{
		//	真是爛,RegisterHotKey和CHotKeyCtrl使用的不是一樣的KeyModifier
		//	在RegisterHotKey中對shift,alt,ctrl的定義如下:	
		//	#define MOD_ALT         0x0001
		//	#define MOD_CONTROL     0x0002
		//	#define MOD_SHIFT       0x0004
		//	#define MOD_WIN         0x0008
		//	在CHotKeyCtrl中對shift,alt,ctrl的定義如下:
		//	#define HOTKEYF_SHIFT           0x01
		//	#define HOTKEYF_CONTROL         0x02
		//	#define HOTKEYF_ALT             0x04
		//	#ifdef _MAC
		//	#define HOTKEYF_EXT             0x80
		//	#else
		//	#define HOTKEYF_EXT             0x08
		//	#endif
		//	也就是說兩個地方使用的SHIFT和ALT的定義剛好是相反的,害我半天!
		WORD wTemp = 0;
		if ( m_wKeyModifier & HOTKEYF_ALT )
			wTemp |= MOD_ALT;

		if ( m_wKeyModifier & HOTKEYF_SHIFT )
			wTemp |= MOD_SHIFT;

		wTemp |= m_wKeyModifier & ~(HOTKEYF_ALT|HOTKEYF_SHIFT);
		if ( RegisterHotKey( GetSafeHwnd(), ICK_HOTKEY, wTemp, m_wVirtualKey ) == 0 )
		{
			LPVOID lpMsgBuf;
			FormatMessage( 
				FORMAT_MESSAGE_ALLOCATE_BUFFER | 
				FORMAT_MESSAGE_FROM_SYSTEM | 
				FORMAT_MESSAGE_IGNORE_INSERTS,
				NULL,
				GetLastError(),
				MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
				(LPTSTR) &lpMsgBuf,
				0,
				NULL 
			);
			PrintOutput( (const char*)lpMsgBuf ," ** 注冊熱鍵錯誤", true );
			LocalFree( lpMsgBuf );
			return;
		}
	}
	ShowWindow(SW_HIDE);
	m_bMinimizeModeSign = true;
}

BOOL CMentoSupplicantDlg::OnCommand(WPARAM wParam, LPARAM lParam) 
{
	switch ( wParam )
	{
	case IDSHELL_RESTORE:
		OnRestore();
		break;
	case IDSHELL_HIDE:
		OnMinimize();
		break;
	case IDSHELL_RECONNECT:
		OnStartCert();
		break;
	case IDSHELL_DISCONNECT:
		OnEndCert();
		SetBrandLabel(" ** 認證失敗!!");
		break;
	case IDSHELL_ABOUT:
		{
			CAboutDlg dlgAbout;
			dlgAbout.DoModal();
		}
		break;
	case IDSHELL_EXIT:
		if ( m_bMinimizeModeSign && m_iCallWay == 0 )
		{
			m_bMinimizeModeSign = false;
			m_Notify.uFlags=NULL;
			Shell_NotifyIcon(NIM_DELETE,&m_Notify);
			ShowWindow( SW_SHOW );
			UnregisterHotKey ( GetSafeHwnd(), ICK_HOTKEY );
		}
		else if ( m_bMinimizeModeSign )
			UnregisterHotKey ( GetSafeHwnd(), ICK_HOTKEY );
		PostQuitMessage(0);
		break;
	case 0:
		switch (lParam)
		{
		case WM_LBUTTONDBLCLK:
			OnRestore();
			break;
		case WM_RBUTTONUP:
			CMenu m_menu;
			m_menu.CreatePopupMenu();
			m_menu.AppendMenu(MF_ENABLED, IDSHELL_RESTORE,"恢復窗口(&R)");
			m_menu.AppendMenu(MF_GRAYED,  IDSHELL_HIDE,"最小化到系統欄(&M)");
			m_menu.AppendMenu(MF_ENABLED, MF_SEPARATOR);
			m_menu.AppendMenu(MF_ENABLED, IDSHELL_RECONNECT,"重新連接(&C)");
			m_menu.AppendMenu(MF_ENABLED, IDSHELL_DISCONNECT,"斷開連接(&D)");
			m_menu.AppendMenu(MF_ENABLED, MF_SEPARATOR);
			m_menu.AppendMenu(MF_ENABLED, IDSHELL_ABOUT,"關于(&A)");
			m_menu.AppendMenu(MF_ENABLED, IDSHELL_EXIT,"退出(&E)");
			CPoint m_point;
			GetCursorPos(&m_point);
			m_menu.TrackPopupMenu(TPM_LEFTALIGN,m_point.x,m_point.y,this);
			break;
		}
	}
	return CDialog::OnCommand(wParam, lParam);
}

void CMentoSupplicantDlg::OnExpand() 
{
	RECT myRect;
	RECT listRect;

	GetWindowRect(&myRect);
	m_OutputCtl.GetWindowRect(&listRect);
	if ( bLargeSign )	//大窗口模式
	{
		MoveWindow( myRect.left, myRect.top, 
			myRect.right - myRect.left , m_hSmall , true );
		GetDlgItem(IDC_EXPAND)->SetWindowText("更多選項(&O) >>");
		bLargeSign = false;
	}
	else
	{
		MoveWindow( myRect.left, myRect.top, 
			myRect.right - myRect.left , m_hLarge , true );
		GetDlgItem(IDC_EXPAND)->SetWindowText("<< 較少選項(&O)");
		bLargeSign = true;
	}
}

void CMentoSupplicantDlg::PrintOutput(CString SForOutput, 
									  CString STitle, bool BMsgBoxSign)
{
	CString sMyTitle;
	CString sMyContent;
  
	m_OutputCtl.Invalidate();
	m_OutputCtl.UpdateWindow();
	if ( STitle.GetLength() <= 0 )
	{
		sMyTitle = "Mento Supplicant Reporter";

		sMyContent = SForOutput;
		SetBrandLabel(sMyContent);
		m_OutputCtl.AddString( SForOutput );
	}
	else
	{
		sMyTitle = STitle;
		sMyContent = SForOutput;
		SetBrandLabel(sMyTitle);
		m_OutputCtl.AddString( sMyTitle );
	}

	if ( BMsgBoxSign || m_bInitProcessing )
		MessageBox( SForOutput, sMyTitle, MB_OK | MB_ICONERROR );
}

bool CMentoSupplicantDlg::SendPackage()
{
	static int iErrorTimes=0;
	static int iLastState=IDT_DISCONNECT;

	WriteDebugInfo("SendPacket"," >> Step 0");
	if ( m_iState == IDT_DISCONNECT )
		return false;

	if ( iLastState == m_iState && m_iState != IDT_ACK_ECHO )
		iErrorTimes++;
	else
	{
		iLastState = m_iState;
		iErrorTimes = 0;
	}

	WriteDebugInfo("SendPacket"," >> Step 1");
	if ( iErrorTimes >= MAX_ERROR_REPEAT )
	{
		iErrorTimes = 0;
		switch( m_iState )
		{
		case IDT_FIND_SERVER:
			PrintOutput(" ** 爛實達,又找不到服務器了!!");
			break;
		case IDT_ACK_NAME:
			PrintOutput(" ** 用戶名發送超過次數,現在重啟認證!!");
			break;
		case IDT_ACK_PSWD:
			PrintOutput(" ** 密碼發送超過次數,現在重啟認證!!");
			break;
		case IDT_ACK_ECHO:
			return true;
		}
		WriteDebugInfo("SendPacket"," >> Step 1a");
		SendEndCertPacket();
		WriteDebugInfo("SendPacket"," >> Step 1b");
		DoStartCert();
		WriteDebugInfo("SendPacket"," >> Step 1c");
		return false;
	}

	WriteDebugInfo("SendPacket"," >> Step 2");
	switch ( m_iState )
	{
	case IDT_FIND_SERVER:			//尋找服務器
		if ( SendFindServerPacket() != PCAP_SUCCESS )
		{
			PrintOutput( " ** 不能尋找服務器!!" );
			WriteDebugInfo("SendPacket"," >> Step 2a");
			return false;
		}
		break;

	case IDT_ACK_NAME:				//以用戶名應答
		if ( SendNamePacket() != PCAP_SUCCESS )
		{
			PrintOutput( " ** 發送用戶名失敗!!" );
			WriteDebugInfo("SendPacket"," >> Step 2b");
			return false;
		}
		break;

	case IDT_ACK_PSWD:				//以MD5計算得到的值應答
		if ( SendPasswordPacket() != PCAP_SUCCESS )
		{
			PrintOutput( " ** 發送密碼失敗!!" );
			WriteDebugInfo("SendPacket"," >> Step 2c");
			return false;
		}
		break;

	case IDT_ACK_ECHO:				//運行時echo包
		SendEchoPacket();
		WriteDebugInfo("SendPacket"," >> Step 2d");
		break;
	}

	WriteDebugInfo("SendPacket"," >> Step 3");
	return true;
}

void CMentoSupplicantDlg::SetBrandLabel(CString SForSet)
{
	m_BrandLabel.SetWindowText( SForSet );
}

void CMentoSupplicantDlg::OnAutoConnect() 
{
	UpdateData();
}

void CMentoSupplicantDlg::OnConnectMinimize() 
{
	UpdateData();
	
}

void CMentoSupplicantDlg::OnSelchangingOption(NMHDR* pNMHDR, LRESULT* pResult) 
{
	//關閉所有的組件顯示
	GetDlgItem( IDC_OUTPUT_LIST )->ShowWindow( SW_HIDE );

	GetDlgItem( IDC_MODE_GROUP )->ShowWindow( SW_HIDE );
	GetDlgItem( IDC_MODE_STANDARD )->ShowWindow( SW_HIDE );
	GetDlgItem( IDC_MODE_STAR )->ShowWindow( SW_HIDE );
	GetDlgItem( IDC_SELF_ECHO_INTERVAL_CHECK )->ShowWindow( SW_HIDE );
	GetDlgItem( IDC_ECHOINTERVAL )->ShowWindow( SW_HIDE );

	GetDlgItem( IDC_RUNOPTION_GROUP )->ShowWindow( SW_HIDE );
	GetDlgItem( IDC_CONNECT_MINIMIZE )->ShowWindow( SW_HIDE );
	GetDlgItem( IDC_AUTO_CONNECT )->ShowWindow( SW_HIDE );
	GetDlgItem( IDC_STARTUP_RUN )->ShowWindow( SW_HIDE );

	GetDlgItem( IDC_CALL_GROUP )->ShowWindow( SW_HIDE );
	GetDlgItem( IDC_CALL_SHELLICON )->ShowWindow( SW_HIDE );
	GetDlgItem( IDC_CALL_HOTKEY )->ShowWindow( SW_HIDE );
	GetDlgItem( IDC_HOTKEY_SHOW )->ShowWindow( SW_HIDE );
	
	GetDlgItem( IDC_INTELLIGENCE_GROUP )->ShowWindow( SW_HIDE );
	GetDlgItem( IDC_INTELLIGENCE_RECONNECT )->ShowWindow( SW_HIDE );
	
	GetDlgItem( IDC_STATIC_IP)->ShowWindow(SW_HIDE);
	GetDlgItem( IDC_ARTIFICALADDRESS_GROUP )->ShowWindow( SW_HIDE );
    GetDlgItem( IDC_ARTIFICALADDRESS_ENABLE )->ShowWindow( SW_HIDE );
	GetDlgItem( IDC_IPADDRESS )->ShowWindow( SW_HIDE );
	

	*pResult = 0;
}

void CMentoSupplicantDlg::OnSelchangeOption(NMHDR* pNMHDR, LRESULT* pResult) 
{
	//顯示當前的組件
	switch ( m_OptionTab.GetCurSel() )
	{
	case 0:	//查看輸出
		GetDlgItem( IDC_OUTPUT_LIST )->ShowWindow( SW_SHOW );
		break;
	case 1:	//認證選項
		GetDlgItem( IDC_MODE_GROUP )->ShowWindow( SW_SHOW );
		GetDlgItem( IDC_MODE_STANDARD )->ShowWindow( SW_SHOW );
		GetDlgItem( IDC_MODE_STAR )->ShowWindow( SW_SHOW );
		GetDlgItem( IDC_SELF_ECHO_INTERVAL_CHECK )->ShowWindow( SW_SHOW );
		GetDlgItem( IDC_ECHOINTERVAL )->ShowWindow( SW_SHOW );
		break;
	case 2:	//運行選項
		GetDlgItem( IDC_RUNOPTION_GROUP )->ShowWindow( SW_SHOW );
		GetDlgItem( IDC_CONNECT_MINIMIZE )->ShowWindow( SW_SHOW );
		GetDlgItem( IDC_AUTO_CONNECT )->ShowWindow( SW_SHOW );
		GetDlgItem( IDC_STARTUP_RUN )->ShowWindow( SW_SHOW );
		break;
	case 3:	//激活選項
		GetDlgItem( IDC_CALL_GROUP )->ShowWindow( SW_SHOW );
		GetDlgItem( IDC_CALL_SHELLICON )->ShowWindow( SW_SHOW );
		GetDlgItem( IDC_CALL_HOTKEY )->ShowWindow( SW_SHOW );
		GetDlgItem( IDC_HOTKEY_SHOW )->ShowWindow( SW_SHOW );
		break;
	case 4:
		GetDlgItem( IDC_INTELLIGENCE_GROUP )->ShowWindow( SW_SHOW );
		GetDlgItem( IDC_INTELLIGENCE_RECONNECT )->ShowWindow( SW_SHOW );
		break;
	case 5:
		GetDlgItem( IDC_ARTIFICALADDRESS_GROUP )->ShowWindow( SW_SHOW );
        GetDlgItem( IDC_ARTIFICALADDRESS_ENABLE )->ShowWindow( SW_SHOW );
	    GetDlgItem( IDC_IPADDRESS )->ShowWindow( SW_SHOW );		
		GetDlgItem( IDC_STATIC_IP)->ShowWindow(SW_SHOW);
		
		UpdateData(false);
		break;
	}
	*pResult = 0;
}

void CMentoSupplicantDlg::OnErrspaceOutputList() 
{
	// TODO: Add your control notification handler code here
	while ( m_OutputCtl.DeleteString(0) != LB_ERR  );
}

LONG CMentoSupplicantDlg::OnHotKey(WPARAM wParam,LPARAM lParam)
{
	switch(wParam)
	{
	case ICK_HOTKEY:
		OnRestore();
		break;
	}
	return 1;
}

void CMentoSupplicantDlg::OnDestroy() 
{
	if ( m_pMainCertThread )
		TerminateThread( m_pMainCertThread, 100);
	if ( m_pPingThread )
		TerminateThread( m_pPingThread, 100);

	CDialog::OnDestroy();
	if ( m_pNICs )
	{
		delete m_pNICs;
		m_pNICs = NULL;
	}
}

void CMentoSupplicantDlg::OnCallHotkey() 
{
	UpdateData();
	if ( m_iCallWay == 0 )
		m_HotKey.EnableWindow( false );
	else
		m_HotKey.EnableWindow( true );
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
天堂一区二区在线免费观看| 成人app下载| 成人app软件下载大全免费| 亚洲www啪成人一区二区麻豆| 一本色道亚洲精品aⅴ| 国产精品白丝在线| 94-欧美-setu| 日韩电影在线观看网站| 精品国产乱码久久久久久浪潮 | 欧美伦理影视网| 老司机午夜精品| 久久久久成人黄色影片| av在线综合网| 日韩精品1区2区3区| 蜜桃av一区二区在线观看| 国产欧美日韩综合精品一区二区| 成人av资源网站| eeuss鲁一区二区三区| 成人免费视频一区| 日本 国产 欧美色综合| 成人欧美一区二区三区黑人麻豆 | 日本韩国精品在线| 久久成人免费网站| 国产91丝袜在线播放0| 亚洲国产日产av| 中文字幕+乱码+中文字幕一区| 欧美专区日韩专区| 成人一区在线观看| 91福利区一区二区三区| 欧美日本一区二区| 色菇凉天天综合网| 日韩色视频在线观看| 91麻豆免费在线观看| 国产成人免费在线观看| 亚洲超碰97人人做人人爱| 久久国产精品99久久人人澡| 岛国一区二区在线观看| 欧美日韩亚洲综合在线| 国产成人8x视频一区二区| 91久久人澡人人添人人爽欧美| 欧美一区二区在线免费播放| 色悠悠亚洲一区二区| 日韩视频一区二区三区| 亚洲日穴在线视频| 亚洲天堂中文字幕| 日本v片在线高清不卡在线观看| 国产高清视频一区| 欧美精品久久天天躁| 国产精品午夜免费| 国产欧美日韩亚州综合| 午夜精品福利久久久| 亚洲成人精品在线观看| 国产麻豆精品一区二区| 精品一区二区精品| 国产综合色视频| 国产乱码精品一区二区三区五月婷| 麻豆国产精品一区二区三区| 99久久er热在这里只有精品15| 日韩欧美一区二区免费| 欧美精品一区二区久久婷婷| 亚洲一二三专区| 亚洲风情在线资源站| 懂色av一区二区三区免费看| 日韩精品一区在线观看| 丝袜国产日韩另类美女| 色先锋aa成人| 国产精品麻豆一区二区| 国产成人无遮挡在线视频| 欧美精品一区二区三区四区| 日韩精品一级中文字幕精品视频免费观看 | 亚洲婷婷在线视频| 国产91在线|亚洲| 久久久久久久久久久电影| 蜜芽一区二区三区| 欧美精品久久99| 丝袜美腿高跟呻吟高潮一区| 在线电影欧美成精品| 天堂久久久久va久久久久| 欧美日韩国产欧美日美国产精品| 一区二区三区视频在线观看| 视频一区在线播放| 欧美年轻男男videosbes| 一区二区三区在线免费视频 | 欧美久久高跟鞋激| 亚洲午夜久久久久久久久电影院| 在线观看中文字幕不卡| 亚洲综合成人在线| 欧美撒尿777hd撒尿| 亚洲一区视频在线| 欧美剧情片在线观看| 丝袜亚洲另类欧美综合| 日韩三区在线观看| 国产在线国偷精品产拍免费yy| 国产欧美日韩视频在线观看| 成人激情视频网站| 夜夜精品视频一区二区| 欧美一区二区日韩| 久久精品理论片| 国产精品私人影院| 欧美视频一区在线观看| 国产精品乱码人人做人人爱| 91在线免费看| 天堂影院一区二区| 国产拍揄自揄精品视频麻豆| 在线中文字幕一区二区| 免费国产亚洲视频| 中文字幕久久午夜不卡| 欧美日韩国产高清一区二区| 狠狠色狠狠色综合日日91app| 国产精品国产三级国产aⅴ中文| 一本大道久久a久久精品综合| 亚洲专区一二三| 久久亚洲一区二区三区明星换脸| 午夜欧美视频在线观看| 久久久久久久网| 欧美色爱综合网| 粉嫩av一区二区三区粉嫩| 亚洲一区二区三区小说| 久久综合av免费| 在线免费亚洲电影| 蜜桃一区二区三区四区| 综合精品久久久| 精品999在线播放| 欧美日韩黄视频| 成人免费视频视频在线观看免费| 一区二区三区精品视频在线| 欧美成人a在线| 蜜臀国产一区二区三区在线播放| 国产精品久久久久影院色老大| 在线综合+亚洲+欧美中文字幕| 亚洲午夜一区二区| 欧美国产欧美亚州国产日韩mv天天看完整| 欧美亚洲综合色| 91在线国内视频| 国产麻豆精品久久一二三| 日本成人在线电影网| 亚洲一二三四在线观看| 综合自拍亚洲综合图不卡区| 国产亚洲精品久| 一本到不卡精品视频在线观看| 国产精品中文字幕欧美| 精品一区二区三区视频在线观看| 亚洲第一福利视频在线| 一区二区三区中文字幕精品精品| 中文一区在线播放| www国产成人免费观看视频 深夜成人网| 欧美久久久久免费| 欧美日韩一区久久| 欧美性受xxxx| 欧美性xxxxxx少妇| 色婷婷精品久久二区二区蜜臂av| 99久久综合色| 91老师片黄在线观看| 暴力调教一区二区三区| 成人福利视频在线| 97久久久精品综合88久久| 99精品视频在线观看| av亚洲精华国产精华精| 91网页版在线| 欧美在线观看你懂的| 欧美亚洲动漫精品| 欧美一区二区人人喊爽| 欧美一区二区在线免费观看| 精品国产亚洲一区二区三区在线观看| 欧美一区二区三区婷婷月色| 日韩欧美一区二区在线视频| 精品福利一二区| 国产精品你懂的在线欣赏| 国产精品国产自产拍高清av王其| 亚洲欧美aⅴ...| 久久久精品影视| 中文字幕一区二区三区视频| 亚洲精选一二三| 日本一区二区三区电影| 亚洲欧洲三级电影| 亚洲高清中文字幕| 蜜臀av国产精品久久久久| 国产成人精品综合在线观看| 色一情一伦一子一伦一区| 欧美久久久久久蜜桃| 久久久综合激的五月天| 亚洲精品美国一| 理论片日本一区| 91色porny在线视频| 日韩一区二区免费在线观看| 国产欧美日韩综合| 亚洲成人一区在线| 国产剧情一区在线| 91丨九色porny丨蝌蚪| 欧美一区二区三区性视频| 日本一区二区三区国色天香| 亚洲综合色噜噜狠狠| 国产一区二区三区四| 欧美自拍丝袜亚洲| 欧美国产日产图区| 日韩成人一区二区| av不卡在线播放| 精品国产成人系列| 亚洲成年人网站在线观看| 成人黄色软件下载|