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

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

?? onlineuserspage.cpp

?? 用套接字實現的ftp文件傳輸源代碼
?? CPP
字號:
/****************************************************************/
/*																*/
/*  OnlineUsersPage.cpp											*/
/*																*/
/*  Implementation of the COnlineUsersPage class.				*/
/*	This class is a part of the FTP Server Application			*/
/*																*/
/*  Programmed by Pablo van der Meer							*/
/*  Copyright Pablo Software Solutions 2002						*/
/*	http://www.pablovandermeer.nl								*/
/*																*/
/*  Last updated: 10 july 2002									*/
/*																*/
/****************************************************************/


#include "stdafx.h"
#include "FTPServerApp.h"
#include "FTPServer.h"
#include "OnlineUsersPage.h"
#include "UserAccountsDlg.h"
#include "ApplicationDlg.h"

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

extern CFTPServer theServer;

IMPLEMENT_DYNCREATE(COnlineUsersPage, CDialog)

COnlineUsersPage::COnlineUsersPage() : CDialog(COnlineUsersPage::IDD)
{
	//{{AFX_DATA_INIT(COnlineUsersPage)
	//}}AFX_DATA_INIT
}

COnlineUsersPage::~COnlineUsersPage()
{
}

void COnlineUsersPage::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(COnlineUsersPage)
	DDX_Control(pDX, IDC_ONLINE_USERS, m_OnlineUsers);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(COnlineUsersPage, CDialog)
	//{{AFX_MSG_MAP(COnlineUsersPage)
	ON_WM_SIZE()
	ON_WM_CONTEXTMENU()
	ON_COMMAND(IDC_KICK_USER, OnKickUser)
	ON_COMMAND(IDC_EDIT_USER, OnEditUserAccount)
	ON_COMMAND(IDC_BLOCK_IP, OnBlockIp)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()



/********************************************************************/
/*																	*/
/* Function name : OnInitDialog										*/		
/* Description   : Called by the framework in response to the		*/
/*				   WM_INITDIALOG message.							*/
/*																	*/
/********************************************************************/
BOOL COnlineUsersPage::OnInitDialog() 
{
	CDialog::OnInitDialog();

	m_OnlineUsers.InsertColumn(0, "ThreadID");		
	m_OnlineUsers.InsertColumn(1, "Username");	
	m_OnlineUsers.InsertColumn(2, "IP Adress");	
	m_OnlineUsers.InsertColumn(3, "Login Time");
	
	DWORD dwStyle = m_OnlineUsers.GetExtendedStyle();
	dwStyle |= LVS_EX_FULLROWSELECT;
    m_OnlineUsers.SetExtendedStyle(dwStyle);
	return TRUE;
}


/********************************************************************/
/*																	*/
/* Function name : OnSize											*/		
/* Description   : Handle WM_SIZE message							*/
/*																	*/
/********************************************************************/
void COnlineUsersPage::OnSize(UINT nType, int cx, int cy) 
{
	CDialog::OnSize(nType, cx, cy);
	
	if (IsWindow(::GetDlgItem(m_hWnd, IDC_ONLINE_USERS)))
	{
		CRect rect;
		GetClientRect(rect);
		m_OnlineUsers.MoveWindow(rect);
		m_OnlineUsers.SetColumnWidth(0, 0);
		m_OnlineUsers.SetColumnWidth(1, rect.Width()/3-2);
		m_OnlineUsers.SetColumnWidth(2, rect.Width()/3-2);
		m_OnlineUsers.SetColumnWidth(3, rect.Width()/3-2);
	}	
}


/********************************************************************/
/*																	*/
/* Function name : AddUser											*/
/* Description   : Add new connected user to list					*/
/*																	*/
/********************************************************************/
void COnlineUsersPage::AddUser(DWORD nThreadID, LPCTSTR lpszName, LPCTSTR lpszAddress)
{
	CString strThreadID;
	strThreadID.Format("%d", nThreadID);

	LVFINDINFO info;
	
	info.flags = LVFI_PARTIAL|LVFI_STRING;
	info.psz = (LPCTSTR)strThreadID;

	int nIndex = m_OnlineUsers.FindItem(&info);
	if (nIndex == -1)
	{
		nIndex = m_OnlineUsers.InsertItem(0, strThreadID);
	}

	m_OnlineUsers.SetItemText(nIndex, 1, lpszName);
	m_OnlineUsers.SetItemText(nIndex, 2, lpszAddress);
	m_OnlineUsers.SetItemText(nIndex, 3, CTime::GetCurrentTime().Format("%H:%M:%S"));
	
}


/********************************************************************/
/*																	*/
/* Function name : RemoveUser										*/
/* Description   : Remove disconnected user from list				*/
/*																	*/
/********************************************************************/
void COnlineUsersPage::RemoveUser(DWORD nThreadID)
{
	LVFINDINFO info;
	
	CString strThreadID;
	strThreadID.Format("%d", nThreadID);

	info.flags = LVFI_PARTIAL|LVFI_STRING;
	info.psz = (LPCTSTR)strThreadID;

	int nIndex = m_OnlineUsers.FindItem(&info);
	if (nIndex != -1)
	{
		m_OnlineUsers.DeleteItem(nIndex);
	}
}


/********************************************************************/
/*																	*/
/* Function name : OnContextMenu									*/
/* Description   : Show context menu								*/
/*																	*/
/********************************************************************/
void COnlineUsersPage::OnContextMenu(CWnd* pWnd, CPoint point) 
{
	// get selected user
	int nIndex = m_OnlineUsers.GetNextItem(-1, LVNI_ALL | LVNI_SELECTED); 
    if(nIndex == -1)
        return;

	CMenu menu;
	menu.LoadMenu(MAKEINTRESOURCE(IDR_ONLINE_MENU));
	menu.GetSubMenu(0)->TrackPopupMenu(0, point.x, point.y, this, NULL);			

}


/********************************************************************/
/*																	*/
/* Function name : OnKickUser										*/
/* Description   : Close connection for this user(s)				*/
/*																	*/
/********************************************************************/
void COnlineUsersPage::OnKickUser() 
{
	int nIndex = m_OnlineUsers.GetNextItem(-1, LVNI_ALL | LVNI_SELECTED); 
	while (nIndex != -1)
	{
		CString strThreadID = m_OnlineUsers.GetItemText(nIndex, 0);
		PostThreadMessage(atoi(strThreadID), WM_QUIT, 0 ,0);
		nIndex = m_OnlineUsers.GetNextItem(nIndex, LVNI_ALL | LVNI_SELECTED);
	}
}


/********************************************************************/
/*																	*/
/* Function name : OnEditUserAccount								*/
/* Description   : Change user rights of selected user				*/
/*																	*/
/********************************************************************/
void COnlineUsersPage::OnEditUserAccount() 
{
	int nIndex = m_OnlineUsers.GetNextItem(-1, LVNI_ALL | LVNI_SELECTED); 
	if (nIndex != -1)	
	{
		CUserAccountsDlg dlg;

		theServer.m_UserManager.GetUserList(dlg.m_UserArray);
		dlg.m_strUserName = m_OnlineUsers.GetItemText(nIndex, 1);
		if (dlg.DoModal() == IDOK)
		{
			theServer.m_UserManager.UpdateUserList(dlg.m_UserArray);
		}	
	}
}


/********************************************************************/
/*																	*/
/* Function name : OnBlockIp										*/
/* Description   : Change user rights of selected user				*/
/*																	*/
/********************************************************************/
void COnlineUsersPage::OnBlockIp() 
{
	int nIndex = m_OnlineUsers.GetNextItem(-1, LVNI_ALL | LVNI_SELECTED); 
	if (nIndex == -1)
		return;

	while (nIndex != -1)
	{
		CString strIP = m_OnlineUsers.GetItemText(nIndex, 2);
		((CApplicationDlg *)GetParent())->m_SecurityPage.AddIPToBlockList(strIP);
		nIndex = m_OnlineUsers.GetNextItem(nIndex, LVNI_ALL | LVNI_SELECTED);
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
激情综合网av| 日韩视频在线永久播放| 成人av先锋影音| 久久这里只有精品视频网| 午夜精品123| 欧美一区二区三区人| 日韩电影在线观看电影| 91麻豆精品91久久久久久清纯| 亚洲成在线观看| 欧美日韩在线亚洲一区蜜芽| 亚洲午夜成aⅴ人片| 欧美日韩黄色影视| 久久99久久久久久久久久久| 久久久久青草大香线综合精品| 国产精品夜夜爽| 国产精品短视频| 欧美日韩免费观看一区二区三区 | 成人av在线网站| 亚洲码国产岛国毛片在线| 中文字幕欧美三区| 国产亚洲欧美色| 26uuuu精品一区二区| 亚洲精品在线观看网站| 捆绑紧缚一区二区三区视频| 中文字幕巨乱亚洲| 日韩欧美亚洲国产另类| 99久免费精品视频在线观看| 国产伦精品一区二区三区视频青涩| 中文字幕日韩av资源站| 日韩欧美的一区| 色噜噜狠狠成人中文综合| 久久99国产精品尤物| 一区二区三区四区蜜桃| 久久久99精品久久| 欧美日韩国产区一| 色综合天天综合在线视频| 国产一区二区三区蝌蚪| 裸体在线国模精品偷拍| 亚洲精品高清视频在线观看| 亚洲欧美日韩系列| 国产精品美女一区二区在线观看| 欧美羞羞免费网站| 91在线播放网址| 国产在线一区二区| 国精产品一区一区三区mba视频| 亚洲电影中文字幕在线观看| 国产片一区二区三区| 欧美国产日本韩| 日韩免费高清电影| 日韩一区二区精品在线观看| 91麻豆视频网站| 日本乱人伦aⅴ精品| 在线观看成人小视频| 精品视频色一区| 欧美精品乱码久久久久久按摩| 在线一区二区视频| 欧美色倩网站大全免费| 欧美人伦禁忌dvd放荡欲情| 欧美日韩www| 欧美电视剧免费全集观看| 欧美一区二区播放| 中文字幕一区免费在线观看| 国产精品国产三级国产普通话三级 | 亚洲图片另类小说| 欧美韩国一区二区| 七七婷婷婷婷精品国产| 日本精品一级二级| 欧美激情综合网| 久久国产尿小便嘘嘘尿| 在线视频你懂得一区| 久久美女艺术照精彩视频福利播放| 亚洲亚洲人成综合网络| 91色porny蝌蚪| 国产精品久久久久一区二区三区共 | 欧美乱妇一区二区三区不卡视频| 2020国产精品久久精品美国| 自拍偷在线精品自拍偷无码专区| 男人的天堂久久精品| 日本道色综合久久| 国产精品污网站| 国产综合一区二区| 欧美大片国产精品| 午夜激情综合网| 色狠狠一区二区| 中文字幕综合网| 国产iv一区二区三区| 2021国产精品久久精品| 久久精品理论片| 欧美电影免费观看高清完整版在| 亚洲高清免费在线| 欧美视频自拍偷拍| 亚洲国产人成综合网站| 欧美主播一区二区三区美女| 亚洲人妖av一区二区| 91麻豆国产香蕉久久精品| 国产精品久久福利| 97久久精品人人做人人爽50路 | 宅男噜噜噜66一区二区66| 一级日本不卡的影视| 欧美私人免费视频| 日韩精品一区第一页| 7777精品伊人久久久大香线蕉的| 性做久久久久久免费观看欧美| 色国产综合视频| 日韩激情视频在线观看| 日韩欧美一二三| 国产成人精品www牛牛影视| 国产精品狼人久久影院观看方式| 国产不卡视频一区| 亚洲一区二区三区爽爽爽爽爽| 欧美视频完全免费看| 激情小说欧美图片| 亚洲日本在线观看| 日韩免费视频一区二区| 91亚洲国产成人精品一区二三| 亚洲一区二区综合| 欧美一级免费观看| 欧美成人精精品一区二区频| 99精品桃花视频在线观看| 五月综合激情网| 国产欧美一区二区精品仙草咪| 欧美午夜精品久久久久久超碰| 麻豆精品国产传媒mv男同| 国产精品久久久久久久久动漫| 欧美三级中文字幕在线观看| 国产一区二区三区观看| 天天色综合天天| 亚洲日本免费电影| 欧美激情一区二区| 久久婷婷国产综合国色天香| 欧美日韩精品三区| 91久久精品一区二区| 成人av先锋影音| 成人一级片网址| 国产精品一二三| 久久激情综合网| 日韩国产一二三区| 亚洲一区二区三区国产| 亚洲三级久久久| 成人欧美一区二区三区黑人麻豆 | 精品88久久久久88久久久| 欧美伦理影视网| 欧美日韩在线播| 欧美日韩精品一二三区| 欧美日本一区二区| 日韩一区二区免费在线电影| 日韩一级黄色大片| 精品国产免费人成在线观看| 精品欧美一区二区在线观看| 欧美精品一区二区三| 欧美韩国一区二区| 亚洲欧美日韩国产中文在线| 亚洲理论在线观看| 天天亚洲美女在线视频| 久久99国产精品免费| 成人一道本在线| 欧美午夜精品久久久久久超碰 | 欧美影院一区二区| 欧美一区二区三区视频免费| 国产亚洲成av人在线观看导航| 国产亚洲欧美色| 亚洲影院理伦片| 国产电影一区在线| 精品视频1区2区| 国产日产精品1区| 亚洲亚洲精品在线观看| 国产一区二区h| 欧美久久久久久蜜桃| 自拍偷拍亚洲欧美日韩| 激情六月婷婷综合| 欧美午夜电影网| 老司机免费视频一区二区三区| yourporn久久国产精品| 精品久久一区二区| 一区二区三区免费观看| 国产91丝袜在线播放0| 7777精品伊人久久久大香线蕉完整版 | 麻豆视频观看网址久久| 欧美综合在线视频| 国产精品家庭影院| 国产激情偷乱视频一区二区三区| 91精品国产手机| 日韩精品一级二级 | 国产一区在线观看视频| 在线观看区一区二| 亚洲视频免费看| 99精品久久只有精品| 亚洲精品在线观看视频| 免费观看一级欧美片| 91精品欧美久久久久久动漫| 亚洲国产成人91porn| 欧美在线免费视屏| 亚洲不卡在线观看| 欧美高清激情brazzers| 午夜影院久久久| 日韩欧美国产一区二区三区 | 久久久久久99久久久精品网站| 麻豆国产91在线播放| 欧美精品一区二区三区四区 | 久久久久免费观看|