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

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

?? webdiskwnd.cpp

?? 網絡硬盤的客戶段,網絡硬盤的客戶段網絡硬盤的客戶段網絡硬盤的客戶段
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
// WebDiskWnd.cpp : 實現文件
//

#include "stdafx.h"
#include "WD070129.h"
#include "WebDiskWnd.h"
#include "DirDialog.h"

#include <sys/types.h>
#include <sys/stat.h>

//為使用_com_util::ConvertBSTRToString函數所加的頭文件,
//還要將"項目"->"屬性"->"配置屬性"->"C/C++"->"語言"->"將wchar_t視為內置類型"改為"否"
#include <comutil.h>
#pragma comment (lib, "comsupp.lib")
// CWebDiskWnd

struct DownloadFileInfo
{
	CString strFileName;
	__int64 nFileSize;
	CWebDiskWnd *pWnd;
}g_pDFI;

UINT DownloadFile(LPVOID p);


struct UploadFileInfo
{
	CString strFilePath;
	CWebDiskWnd* pWnd;
	HTREEITEM TreeInfo;
}g_pUFI;
UINT UploadFile(LPVOID p);

IMPLEMENT_DYNAMIC(CWebDiskWnd, CWnd)

CWebDiskWnd::CWebDiskWnd()
{
	m_pService = NULL;
	// 裝入菜單 
	m_menu.LoadMenu(IDR_MENU_CONTEXT);
	m_pdtcFile = new CDropTreeCtrl(&m_FileList, &m_menu);
	m_pImageList = new CImageList; 
	m_bstrTicket = ::SysAllocString(NULL);
 
}

CWebDiskWnd::~CWebDiskWnd()
{
}


BEGIN_MESSAGE_MAP(CWebDiskWnd, CWnd)
	ON_BN_CLICKED(IDC_BUTTON_REG, &CWebDiskWnd::OnBnClickedButtonRegister)
	ON_BN_CLICKED(IDC_BUTTON_LOGIN, &CWebDiskWnd::OnBnClickedButtonLogin)
	ON_BN_CLICKED(IDC_BUTTON_LOGOUT, &CWebDiskWnd::OnBnClickedButtonLogout)
	ON_NOTIFY(NM_DBLCLK, IDC_TREE_CTRL_FILE, OnDblclkTreeTest)
	ON_WM_DESTROY()
	ON_MESSAGE(WM_UPLOADFILE, &CWebDiskWnd::OnFileUpload)
	ON_MESSAGE(WM_DOWNLOADFILE, &CWebDiskWnd::OnFileDownload)
	ON_MESSAGE(WM_DELETEFILE, &CWebDiskWnd::OnFileDelete)

	ON_WM_PAINT()
END_MESSAGE_MAP()



// CWebDiskWnd 消息處理程序
BOOL CWebDiskWnd::Create(DWORD dwStyle, CRect &rect, CWnd *pParent, UINT id)
{
	BOOL result ;
	result = CWnd::CreateEx(WS_EX_STATICEDGE , 
                      NULL, NULL, dwStyle, 
                      rect.left, rect.top, rect.Width(), rect.Height(),
                      pParent->GetSafeHwnd(), (HMENU)id) ;

	InitFont();
	InitCtrl();

	return result;
}

void CWebDiskWnd::InitFont(void)
{
	m_ftCtrl.CreateFont(
		12,                        // nHeight
		0,                         // nWidth
		0,                         // nEscapement
		0,                         // nOrientation
		FW_NORMAL,                 // nWeight
		FALSE,                     // bItalic
		FALSE,                     // bUnderline
		0,                         // cStrikeOut
		ANSI_CHARSET,              // nCharSet
		OUT_DEFAULT_PRECIS,        // nOutPrecision
		CLIP_DEFAULT_PRECIS,       // nClipPrecision
		DEFAULT_QUALITY,           // nQuality
		DEFAULT_PITCH | FF_SWISS,  // nPitchAndFamily
		_T("新宋體"));             // lpszFacename
}

void CWebDiskWnd::InitCtrl(void)
{
	CRect rc;

	if(m_gbLogin.GetSafeHwnd() != NULL)
	{
		m_gbLogin.DestroyWindow();
	}
	rc.left		=	10;
	rc.top		=	10;
	rc.right	=	150;
	rc.bottom	=	120;
	m_gbLogin.Create(_T("登陸"), WS_CHILD|WS_VISIBLE|BS_GROUPBOX, rc, this, IDC_BUTTON_GROUPBOX_LOGIN); 
	m_gbLogin.SetFont(&	m_ftCtrl);

	if(m_stUser.GetSafeHwnd() != NULL)
	{
		m_stUser.DestroyWindow();
	}
	rc.left		=	20;
	rc.top		=	35;
	rc.right	=	60;
	rc.bottom	=	55;
//	m_stUser.Create(_T("用戶名"), WS_CHILD|WS_VISIBLE|SS_LEFT, rc, this, IDC_STATIC_USER); 
//	m_stUser.SetFont(&	m_ftCtrl);

	if(m_edUser.GetSafeHwnd() != NULL)
	{
		m_edUser.DestroyWindow();
	}
	rc.left		=	65;
	rc.top		=	30;
	rc.right	=	140;
	rc.bottom	=	50;
	m_edUser.Create(WS_CHILD|WS_VISIBLE|WS_TABSTOP|WS_BORDER, rc, this, IDC_EDIT_USER); 
	m_edUser.SetFont(&	m_ftCtrl);
//-------------
	m_edUser.SetWindowText(_T("tiger"));
//-------------

	if(m_stPassword.GetSafeHwnd() != NULL)
	{
		m_stPassword.DestroyWindow();
	}
	rc.left		=	20;
	rc.top		=	65;
	rc.right	=	60;
	rc.bottom	=	85;
//	m_stPassword.Create(_T("密  碼"), WS_CHILD|WS_VISIBLE|SS_LEFT, rc, this, IDC_STATIC_PASSWORD); 
//	m_stPassword.SetFont(&	m_ftCtrl);

	if(m_edPassword.GetSafeHwnd() != NULL)
	{
		m_edPassword.DestroyWindow();
	}
	rc.left		=	65;
	rc.top		=	60;
	rc.right	=	140;
	rc.bottom	=	80;
	m_edPassword.Create(WS_CHILD|WS_VISIBLE|WS_TABSTOP|WS_BORDER|ES_PASSWORD, rc, this, IDC_EDIT_PASSWORD); 
	m_edPassword.SetFont(&	m_ftCtrl);
//-------------
	m_edPassword.SetWindowText(_T("147258"));
//-------------

	if(m_btLogin.GetSafeHwnd() != NULL)
	{
		m_btLogin.DestroyWindow();
	}
	rc.left		=	20;
	rc.top		=	90;
	rc.right	=	55;
	rc.bottom	=	110;
	m_btLogin.Create(_T("登陸"), WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, rc, this, IDC_BUTTON_LOGIN); 
	m_btLogin.SetFont(&	m_ftCtrl);

	if(m_btLogout.GetSafeHwnd() != NULL)
	{
		m_btLogin.DestroyWindow();
	}
	rc.left		=	60;
	rc.top		=	90;
	rc.right	=	95;
	rc.bottom	=	110;
	m_btLogout.Create(_T("退出"), WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, rc, this, IDC_BUTTON_LOGOUT); 
	m_btLogout.SetFont(&	m_ftCtrl);

	if(m_btRegister.GetSafeHwnd() != NULL)
	{
		m_btRegister.DestroyWindow();
	}
	rc.left		=	100;
	rc.top		=	90;
	rc.right	=	135;
	rc.bottom	=	110;
	m_btRegister.Create(_T("注冊"), WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, rc, this, IDC_BUTTON_REG); 
	m_btRegister.SetFont(&	m_ftCtrl);	
	
	if(m_pdtcFile->GetSafeHwnd() != NULL)
	{
		m_pdtcFile->DestroyWindow();
	}
	rc.left		=	10;
	rc.top		=	130;
	rc.right	=	150;
	rc.bottom	=	280;
	m_pdtcFile->Create(WS_VISIBLE | WS_TABSTOP | WS_CHILD | WS_BORDER | TVS_HASBUTTONS | TVS_LINESATROOT | TVS_HASLINES
   | TVS_DISABLEDRAGDROP  ,rc, this, IDC_TREE_CTRL_FILE); 
//	m_pdtcFile->SetFont(&m_ftCtrl);
	m_pdtcFile->DragAcceptFiles();
	//載入圖標
	m_pImageList->Create(16,16,ILC_MASK| ILC_COLOR16,8,1); 
	m_pImageList->SetBkColor (RGB(255,255,255));

	HICON icon[2];
	icon[0]=AfxGetApp()->LoadIcon (IDI_ICON1); 
	icon[1]=AfxGetApp()->LoadIcon (IDI_ICON2);
	for(int n=0;n<2;n++)
	{
		m_pImageList->Add(icon[n]);  //把圖標載入圖像列表控件
	}
	m_pdtcFile->SetImageList(m_pImageList,TVSIL_NORMAL);


	if(m_pgcTest.GetSafeHwnd() != NULL)
	{
		m_pgcTest.DestroyWindow();
	}
	rc.left		=	10;
	rc.top		=	290;
	rc.right	=	150;
	rc.bottom	=	300;
	m_pgcTest.Create(WS_VISIBLE| WS_CHILD  ,rc, this, IDC_PROGRESS_TEST); 


}

void CWebDiskWnd::OnBnClickedButtonRegister(void)
{
	RegisterUser();
}

void CWebDiskWnd::RegisterUser(void)
{
	if(	m_pService != NULL)
	{
		delete m_pService;
		m_pService = NULL;
	}

	m_pService = new CService;

	char* str;

	CString strUser;
	m_edUser.GetWindowText(strUser);

	CString strPassword;
	m_edPassword.GetWindowText(strPassword);


	BSTR bstrUser = ::SysAllocString(NULL);
	BSTR bstrPassword = ::SysAllocString(NULL);
	bstrUser = strUser.AllocSysString();
	bstrPassword = strPassword.AllocSysString();

	int flag = true;

	m_pService->Register(bstrUser, bstrPassword, &flag);

	if(flag == 1)
	{
		::AfxMessageBox(_T("用戶名有沖突!請重新注冊!"));
	}

	SysFreeString(bstrUser);
	SysFreeString(bstrPassword);

	RetrieveFileList();	

}

void CWebDiskWnd::OnBnClickedButtonLogin()
{
	// TODO: 在此添加控件通知處理程序代碼
	StartService();
}

void CWebDiskWnd::StartService(void)
{
	if(	m_pService != NULL)
	{
		delete m_pService;
		m_pService = NULL;
	}

	m_pService = new CService;

	char* str;

	CString strUser;
	m_edUser.GetWindowText(strUser);

	CString strPassword;
	m_edPassword.GetWindowText(strPassword);


	BSTR bstrUser = ::SysAllocString(NULL);
	BSTR bstrPassword = ::SysAllocString(NULL);
	bstrUser = strUser.AllocSysString();
	bstrPassword = strPassword.AllocSysString();

	m_pService->GetAuthorizationTicket(bstrUser, bstrPassword, &m_bstrTicket);

	SysFreeString(bstrUser);
	SysFreeString(bstrPassword);


	//創建共享文件夾
	CString strTemp;
	strTemp.Format("\\共享文件夾");
	BSTR bstrShareF;
	bstrShareF= strTemp.AllocSysString();;
	BSTR bstrRet = ::SysAllocString(NULL);

	m_pService->CreateFolder(m_bstrTicket, bstrShareF, &bstrRet);

	SysFreeString(bstrShareF);
	SysFreeString(bstrRet);

	RetrieveFileList();

}

void CWebDiskWnd::OnBnClickedButtonLogout()
{
	// TODO: 在此添加控件通知處理程序代碼
//	RegisterUser();
	StoptService();

}

void CWebDiskWnd::OnDestroy()
{
	StoptService();
	CWnd::OnDestroy();

	// TODO: 在此處添加消息處理程序代碼
}

void CWebDiskWnd::StoptService(void)
{
	if(	m_pService != NULL)
	{
		delete m_pService;
		m_pService = NULL;
	}
}

void CWebDiskWnd::RetrieveFileList(HTREEITEM root)
{
	BSTR bstrTest = ::SysAllocString(NULL);

	CString strRootPath, strTemp = _T("");

//	m_pdtcFile->DeleteItem(root);

	HTREEITEM parent;
	parent = root;
	while(1)
	{
		strTemp = m_pdtcFile->GetItemText(parent);
		strRootPath = _T("\\") + strTemp + strRootPath;;
		parent = m_pdtcFile->GetParentItem(parent);
		if(parent == NULL)
			break;
	}

	BSTR bstrRootPth = ::SysAllocString(NULL);
	bstrRootPth = strRootPath.AllocSysString();

	m_pService->GetFile(m_bstrTicket, bstrRootPth, &bstrTest);

	SysFreeString(bstrRootPth);

	CString strFileNameBunch;
	strFileNameBunch = _com_util::ConvertBSTRToString(bstrTest);

	HTREEITEM ChildItem;
	while(1)
	{
		ChildItem = m_pdtcFile->GetChildItem(root);
		if(ChildItem == NULL)
			break;
		
		m_pdtcFile->DeleteItem(ChildItem);
	}
	//strFileNameBunch(文件名串如下排列,中間用'|'分隔
    //strFileNameBunch = "123.111|asd.ttt|";

	int strLen = strFileNameBunch.GetLength();
	CString strFileName;
	
	int i, j;

	for(i=0; i<strLen;)
	{
		j = strFileNameBunch.Find('|', i);
		strFileName = strFileNameBunch.Mid(i, j-i);
		if((strFileName.Left(1)).Compare(_T("@")) == 0)
		{
	
			CString str = strFileName.Mid(1);
			if(str.Compare("共享文件夾") != 0)
			{
				HTREEITEM ChildItem1;
				ChildItem1 = m_pdtcFile->InsertItem(_T(str), 0, 0, root);
				RetrieveFileList(ChildItem1);
			}
			else
			{
				HTREEITEM ChildItem1;
				ChildItem1 = m_pdtcFile->InsertItem(_T(str), 0, 0, root);
				RetrieveShareFileList(ChildItem1);
			}
		}
		else
		{
			m_pdtcFile->InsertItem(_T(strFileName), 1, 1, root);
		}

		i=j+1;

	}


	m_pdtcFile->Expand(root, TVE_EXPAND);

}


HTREEITEM FindChildItem(CDropTreeCtrl *ptcTest, HTREEITEM root, CString strCur)
{
	if (ptcTest->ItemHasChildren(root))
	{
		HTREEITEM hNextItem;
		HTREEITEM hChildItem = ptcTest->GetChildItem(root);
		CString str = ptcTest->GetItemText(hChildItem);
		if(str.Compare(strCur) == 0)
		{
			return hChildItem;
		}

		while (hChildItem != NULL)
		{
			hNextItem = ptcTest->GetNextItem(hChildItem, TVGN_NEXT);
			str = ptcTest->GetItemText(hChildItem);
			if(str.Compare(strCur) == 0)
			{
				return hChildItem;
			}
			hChildItem = hNextItem;
		}
	}
	return NULL;
}

void CWebDiskWnd::RetrieveShareFileList(HTREEITEM root)
{
	BSTR bstrTest = ::SysAllocString(NULL);
	CString strRootPath, strTemp = _T("");

//	m_pdtcFile->DeleteItem(root);

	HTREEITEM parent;
	parent = root;
	while(1)
	{
		strTemp = m_pdtcFile->GetItemText(parent);
		strRootPath = _T("\\") + strTemp + strRootPath;;
		parent = m_pdtcFile->GetParentItem(parent);
		if(parent == NULL)
			break;
	}

	strRootPath.Replace("\\共享文件夾\\", "");
	strRootPath.Replace("\\共享文件夾", "");

	BSTR bstrRootPth = ::SysAllocString(NULL);

//	""
//	"lyt"
//	"lyt\@aaa"
//	"lyt\@aaa\@新建文件夾"
//	"lyt\@aaa\@新建文件夾\@999"


	CString strUserShareName;
	strUserShareName = strRootPath;

	int index = strRootPath.Find('\\');
	index = strRootPath.Find('\\', index+1);

	if(index > 0)
	{
		strUserShareName = strRootPath.Left(index+1);
	}
	strRootPath.Replace(strUserShareName, "");
	strRootPath.Replace("@", "");


	strUserShareName.Replace("\\@", "|");
	strUserShareName.Replace("\\", "|");





	bstrRootPth = strRootPath.AllocSysString();	


	BSTR bstrUserShareName = strUserShareName.AllocSysString();



	m_pService->ShowShare(m_bstrTicket, bstrUserShareName, bstrRootPth, &bstrTest);

	::SysFreeString(bstrUserShareName);

	CString strFileNameBunch;
	strFileNameBunch = _com_util::ConvertBSTRToString(bstrTest);

	HTREEITEM ChildItem;
	while(1)
	{
		ChildItem = m_pdtcFile->GetChildItem(root);
		if(ChildItem == NULL)
			break;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品视频网| 美女免费视频一区| www.欧美色图| 中文字幕精品—区二区四季| 国产福利一区在线| 国产99久久久精品| 最新日韩av在线| 视频一区视频二区在线观看| 欧美一区二区观看视频| 蜜桃精品视频在线| 精品久久99ma| 国产福利不卡视频| 亚洲欧美日韩国产另类专区 | 久久婷婷色综合| 国产电影一区二区三区| 亚洲日本一区二区| 欧美日韩国产欧美日美国产精品| 免费成人美女在线观看| 久久精品一区二区三区不卡| 成人h动漫精品一区二区| 国产一级精品在线| 国产精品国产自产拍高清av| 在线亚洲高清视频| 精品一区二区三区久久久| 中文字幕免费观看一区| 色婷婷一区二区三区四区| 午夜电影一区二区三区| 国产三级久久久| 91老师片黄在线观看| 日本网站在线观看一区二区三区 | a在线欧美一区| 亚洲与欧洲av电影| 欧美xxxx老人做受| 色综合天天天天做夜夜夜夜做| 亚洲综合在线视频| 26uuu精品一区二区| 色综合久久久久综合99| 九一久久久久久| 伊人色综合久久天天人手人婷| 日韩欧美成人一区| 99re在线视频这里只有精品| 日韩经典一区二区| 国产精品久久久久婷婷| 欧美精品 日韩| 99视频热这里只有精品免费| 日韩精品一卡二卡三卡四卡无卡| 日韩电影免费一区| 日韩伦理电影网| 久久久久久久性| 欧美日韩一区二区不卡| 99vv1com这只有精品| 国内精品久久久久影院一蜜桃| 亚洲综合清纯丝袜自拍| 国产精品网曝门| 欧美大胆人体bbbb| 欧美丰满美乳xxx高潮www| 91网站在线播放| 国产精品一区久久久久| 蜜桃视频在线观看一区| 亚洲伊人色欲综合网| 综合久久久久久| 国产精品私人自拍| 久久久亚洲高清| 欧美xxxxx牲另类人与| 4438成人网| 欧美久久久影院| 欧美另类变人与禽xxxxx| 色美美综合视频| 色综合色综合色综合色综合色综合 | 免费人成黄页网站在线一区二区| 国产女人aaa级久久久级| 国产麻豆91精品| 男女视频一区二区| 欧美高清性hdvideosex| 一本大道av一区二区在线播放| 成人综合婷婷国产精品久久蜜臀| 国内精品免费**视频| 国产美女久久久久| 国产91精品露脸国语对白| 狠狠色狠狠色合久久伊人| 韩国理伦片一区二区三区在线播放| 日韩精品三区四区| 免费成人在线视频观看| 青青国产91久久久久久| 免费成人在线观看| 国产一区免费电影| 国产精品123区| 国产91对白在线观看九色| 国产一区91精品张津瑜| 成人午夜又粗又硬又大| 99视频热这里只有精品免费| 色拍拍在线精品视频8848| 在线免费不卡视频| 欧美剧情片在线观看| 精品国产一区二区三区久久影院 | 成人黄色777网| 不卡av在线网| 欧美色图天堂网| 欧美一区二区网站| 久久久99精品免费观看不卡| 国产精品嫩草影院com| 亚洲人成网站在线| 亚洲国产sm捆绑调教视频 | 成人免费毛片嘿嘿连载视频| 韩国中文字幕2020精品| 国产成人在线色| 色综合天天综合给合国产| 欧美日韩综合一区| 日韩精品一级二级| 亚洲国产精品久久久男人的天堂 | 亚洲欧美一区二区久久| 最新热久久免费视频| 亚洲成人av一区二区三区| 麻豆精品在线观看| 99久久精品国产网站| 欧美精品乱码久久久久久按摩| 久久久久久久综合日本| 一区二区欧美在线观看| 老司机精品视频线观看86| 风间由美一区二区av101| 欧美视频三区在线播放| 久久久九九九九| 亚洲午夜免费福利视频| 国产精品一二三四五| 91激情在线视频| 26uuu成人网一区二区三区| 亚洲免费成人av| 国产综合一区二区| 欧美性生活大片视频| 久久天天做天天爱综合色| 亚洲一区二区三区在线看| 欧美另类一区二区三区| 亚洲国产精品ⅴa在线观看| 亚州成人在线电影| a级高清视频欧美日韩| 欧美日韩国产欧美日美国产精品| 欧美极品美女视频| 琪琪一区二区三区| 一本到不卡免费一区二区| 久久蜜桃香蕉精品一区二区三区| 亚洲高清免费视频| 91视频免费播放| 久久亚洲免费视频| 日本美女一区二区三区视频| 99re视频精品| 国产女人aaa级久久久级 | 欧美一区二区三区四区高清| 国产精品理论片在线观看| 老司机精品视频一区二区三区| 欧洲在线/亚洲| 国产精品久久久久影院色老大| 蜜臂av日日欢夜夜爽一区| 色丁香久综合在线久综合在线观看| 国产日产欧美一区二区三区| 免费成人美女在线观看.| 欧美蜜桃一区二区三区| 日韩理论片中文av| 成人av免费观看| 国产亚洲欧美色| 国产在线国偷精品免费看| 日韩一级欧美一级| 性久久久久久久久| 精品视频全国免费看| 一区二区三区国产精华| 91女人视频在线观看| 中文字幕亚洲不卡| 99在线精品一区二区三区| 国产精品每日更新在线播放网址| 国产精品综合网| 久久久久久电影| 粉嫩欧美一区二区三区高清影视 | 中文字幕乱码一区二区免费| 国产麻豆精品视频| 国产日韩欧美精品综合| 成人在线一区二区三区| 国产欧美日韩久久| 成人短视频下载| 亚洲卡通欧美制服中文| 欧美亚洲一区二区在线| 午夜精品影院在线观看| 日韩一区二区三区视频在线 | 欧美日韩久久久| 丝袜美腿一区二区三区| 欧美一区二区免费视频| 久久激情综合网| 国产日韩欧美不卡在线| 91在线丨porny丨国产| 一区二区三区四区av| 欧美高清精品3d| 黄色小说综合网站| 国产精品久久影院| 在线观看免费一区| 免费在线视频一区| 欧美国产国产综合| 在线观看一区日韩| 免费国产亚洲视频| 国产精品视频yy9299一区| 欧美性受xxxx黑人xyx性爽| 污片在线观看一区二区| 精品国产免费人成在线观看|