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

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

?? usbinfopage.cpp

?? 前些天在網上看到了一些關于OPENSSL的介紹
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
// UsbInfoPage.cpp : implementation file
//

#include "stdafx.h"
#include "UsbKey.h"
#include "UsbInfoPage.h"

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

/////////////////////////////////////////////////////////////////////////////
// CUsbInfoPage property page

IMPLEMENT_DYNCREATE(CUsbInfoPage, CPropertyPage)

CUsbInfoPage::CUsbInfoPage() : CPropertyPage(CUsbInfoPage::IDD)
{
	//{{AFX_DATA_INIT(CUsbInfoPage)
	//}}AFX_DATA_INIT
	m_handle=((CUsbKeyApp * )AfxGetApp())->m_handle;
	m_type=-1;
}

CUsbInfoPage::~CUsbInfoPage()
{
}

void CUsbInfoPage::DoDataExchange(CDataExchange* pDX)
{
	CPropertyPage::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CUsbInfoPage)
	DDX_Control(pDX, IDC_LIST_INFO, m_List);
	DDX_Control(pDX, IDC_TREE, m_Tree);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CUsbInfoPage, CPropertyPage)
	//{{AFX_MSG_MAP(CUsbInfoPage)
	ON_NOTIFY(NM_RCLICK, IDC_TREE, OnRclickTree)
	ON_NOTIFY(TVN_SELCHANGED, IDC_TREE, OnSelchangedTree)
	ON_COMMAND(ID_MENU_CREATEDIR, OnMenuCreatedir)
	ON_COMMAND(ID_MENU_DELDIR, OnMenuDeldir)
	ON_COMMAND(ID_MENU_KEYFILE, OnMenuKeyfile)
	ON_COMMAND(ID_MENU_POPFILE, OnMenuPopfile)
	ON_COMMAND(ID_MENU_DELFILE, OnMenuDelfile)
	ON_COMMAND(ID_MENU_PUTFILE, OnMenuPutfile)
	ON_BN_CLICKED(IDC_B_OK, OnBOk)
	ON_BN_CLICKED(IDC_B_CANLE, OnBCanle)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()
//////////////////////////////////////////////////////////////////////////

bool CUsbInfoPage::OperateMsg(CString operand,EPAS_STATUS status)//狀態,何種操作
{
	CString info;
	bool b_result=false;
    switch( status )
    {
	case FT_SUCCESS:
		info="操作成功";
		b_result=true;
		break;
	case FT_CANNOT_OPEN_DRIVER:
		info=("Error: Can't open the driver");
		break;
	case FT_INVALID_DRVR_VERSION:
		info=("Error : Driver version not supported.");
		break;
	case FT_INVALID_COMMAND:
		info= ("Error : Invalid command sent to API.");
		break;
	case FT_ACCESS_DENIED:
		info= ("Error : Access denied.");
		break;
	case FT_ALREADY_ZERO: 
		info= ("Error : Counter already zero.");
		break;
	case FT_UNIT_NOT_FOUND:
		info= ("Error : Device not found.");
		break;
	case FT_DEVICE_REMOVED:
		info= ("Error : Device removed.");
		break;
	case FT_COMMUNICATIONS_ERROR: 
		info= ("Error : Device communication error.");
		break;
	case FT_DIR_NOT_FOUND:
		info= ("Error : Directory does not exist.");
		break;
	case FT_FILE_NOT_FOUND:
		info= ("Error : File not found.");
		break;
	case FT_MEM_CORRUPT:
		info= ("Error : Device memory is corrupted.");
		break;
	case FT_INTERNAL_HW_ERROR:
		info= ("Error : Internal hardware error.");
		break;
	case FT_INVALID_RESP_SIZE:
		info= ("Error : Invalid response received from the device.");
		break;
	case FT_PIN_EXPIRED: 
		info= ("Error : PIN retry attempts has expired.");
		break;
	case FT_ALREADY_EXISTS: 
		info= ("Error : Directory or file already exist.");
		break;
	case FT_NOT_ENOUGH_MEMORY: 
		info= ("Error : Not enough memory to perform the operation.");
		break;
	case FT_INVALID_PARAMETER: 
		info= ("Error : Invalid parameter sent to API.");
		break;
	case FT_INPUT_TOO_LONG: 
		info= ("Error : Input data is too long.");
		break;
	case FT_INVALID_FILE_SELECTED: 
		info= ("Error : Invalid file selected or operation.");
		break;
	case FT_DEVICE_IN_USE: 
		info= ("Error : The device is currently in use.");
		break;
	case FT_INVALID_API_VERSION: 
		info= ("Error : The version of this library is not supported.");
		break;
	case FT_TIME_OUT_ERROR: 
		info= ("Error : Communication time-out.");
		break;
	case FT_ITEM_NOT_FOUND: 
		info= ("Error : Item not found."); 
		break;
	case FT_COMMAND_ABORTED: 
		info= ("Error : Communication error, command aborted.");
		break;
	case FT_INVALID_STATUS: 
		info= ("Error : Invalid status.");
		break;
	default: 
		info= ("Error : An unknown error occurred.");
    }
	if(b_result!=true)
		m_List.AddMsg(operand+"   "+info,M_ERROR);
	return b_result;
}

/////////////////////////////////////////////////////////////////////////////
// CUsbInfoPage message handlers
bool CUsbInfoPage::ListDir(unsigned long parDid,HTREEITEM hItem)//查找目錄結構
{
	EPAS_STATUS retval = FT_SUCCESS;
	EPAS_FILEINFO fi;
	ZeroMemory(&fi,sizeof(fi));
	retval = epas_ChangeDir(m_handle,EPAS_DIR_BY_LONG_ID,parDid,NULL);
	if(!OperateMsg("epas_ChangeDir",retval))
		return false;
	for(int i=0;i<255;i++)
	{
		retval = epas_Directory(m_handle,0,i,&fi,sizeof(fi));
		if(FT_SUCCESS!=retval)
			break;
		if(EPAS_FILETYPE_DIR == fi.ucFileType)
		{
			CString strID;
			strID.Format("%X",fi.ulID);
			HTREEITEM hItemB=m_Tree.InsertItem(strID,1,2,hItem);
			m_Tree.SetItemData(hItemB,1);//目錄1
			ListDir(fi.ulID,hItemB);
			retval = epas_ChangeDir(m_handle,EPAS_DIR_BY_LONG_ID,parDid,NULL);
			if(!OperateMsg("epas_ChangeDir",retval))
				return false;
		}
		if(EPAS_FILETYPE_DATA == fi.ucFileType)
		{
			CString strID;
			strID.Format("%X",fi.ulID);
			HTREEITEM hItemA=m_Tree.InsertItem(strID,3,3,hItem);
			m_Tree.SetItemData(hItemA,2);//文件2
		}
		if(EPAS_FILETYPE_KEY== fi.ucFileType)//密藥
		{	
			CString strID;
			strID.Format("%X",fi.ulID);
			HTREEITEM hItemA=m_Tree.InsertItem(strID,4,4,hItem);
			m_Tree.SetItemData(hItemA,2);//文件2

		}
		if(EPAS_FILETYPE_UNUSED == fi.ucFileType)
			break;
	}
	m_Tree.Expand(hItem,TVE_EXPAND);
	m_Tree.SetRedraw(TRUE);
	return true;	
}

bool CUsbInfoPage::GetDir() //取得目錄結構
{
	// TODO: Add your control notification handler code here
	m_Tree.SetRedraw(FALSE);
	m_Tree.DeleteAllItems();
	HTREEITEM m_hRoot=m_Tree.InsertItem("Root",0,0);
	m_Tree.SetItemData(m_hRoot,0);//跟目錄
	return ListDir(0,m_hRoot);
}

bool CUsbInfoPage::GetSysInfo()
{
	EPAS_SYSINFO sysInfo;
	ZeroMemory(&sysInfo,sizeof(sysInfo));
	EPAS_STATUS m_epsRet = epas_GetProperty(m_handle,EPAS_PROP_SYSINFO,NULL,&sysInfo,sizeof(sysInfo));
	if(OperateMsg("epas_GetProperty",m_epsRet))
	{
		printf("\n=>> Free memory space:  %d bytes",sysInfo.ulFreeSpace);
		m_FreeDevice=sysInfo.ulFreeSpace;//得到剩余磁盤空間
		printf("\n=>> Max directory levels: %d",sysInfo.ucMaxDirLevels);
		printf("\n=>> File system type: %d",sysInfo.ucFileSysType);
	}
/*
	EPAS_VERSIONINFO version;
	ZeroMemory(&version,sizeof(version));

	m_epsRet = epas_GetProperty(m_handle,EPAS_PROP_VERSIONINFO,NULL,&version,sizeof(version));
	if(OperateMsg("epas_GetProperty",m_epsRet))
	{
		printf("\n=>> Firmware Version: %d.%d\n=>> Product Code: %X",
				version.ucFwVerMajor,
				version.ucFwVerMinor,
				version.ucProductCode);		
	}
	
	unsigned long capa = 0;
	m_epsRet = epas_GetProperty(m_handle,EPAS_PROP_CAPABILITIES,NULL,&capa,sizeof(capa));
	if(OperateMsg("epas_GetProperty",m_epsRet))
	{
		printf("\n=>> Capabilities: %X",capa);
	}
	
	
	unsigned long memSize = 0;
	m_epsRet = epas_GetProperty(m_handle,EPAS_PROP_MEM_SIZE,NULL,&memSize,sizeof(memSize));
	if(OperateMsg("epas_GetProperty",m_epsRet))
	{
		printf("\n=>> Total memory size: %d bytes",memSize);
	}

	char fName[EPAS_FRIENDLY_NAME_SIZE+1];
	ZeroMemory(fName,EPAS_FRIENDLY_NAME_SIZE);
	m_epsRet = epas_GetProperty(m_handle,EPAS_PROP_FRIENDLY_NAME,NULL,fName,EPAS_FRIENDLY_NAME_SIZE);
	if(OperateMsg("epas_GetProperty",m_epsRet))
	{
		printf("\n=>> Friendly token name: %s",fName);
	}
	
	unsigned long sn[2];
	m_epsRet = epas_GetProperty(m_handle,EPAS_PROP_SERNUM,NULL,sn,sizeof(sn));
	if(OperateMsg("epas_GetProperty",m_epsRet))
	{
		printf("\n=>> Hardware serial number: 0x%08lX%08lX",sn[0],sn[1]);
	}
*/	return true;
}
void CUsbInfoPage::GetFreeDevice()
{
	GetSysInfo();
	CString strFree;
	strFree.Format("%d",m_FreeDevice);
	GetDlgItem(IDC_EDIT)->SetWindowText(strFree);

}

ULONG CUsbInfoPage::GetID()//得到文件、目錄ID
{
	HTREEITEM handle=m_Tree.GetSelectedItem();
	if(handle==0)
		return -1;
	CString selectF=m_Tree.GetItemText(handle);
	char iBuf[80]={0};
	ULONG id;
	strcpy(iBuf,selectF);
	sscanf(iBuf,"%lx",&id);
	return id;

}

ULONG CUsbInfoPage::GetParentID()//得到父id
{	
	HTREEITEM handle=m_Tree.GetSelectedItem();
	if(handle==0)
		return -1;
	ULONG id;
	HTREEITEM hParent=m_Tree.GetParentItem(handle);
	CString selectF=m_Tree.GetItemText(hParent);
	if(m_Tree.GetItemText(hParent)=="Root")	
		id=0;
	else
	{
		char iBuf[80]={0};
		strcpy(iBuf,selectF);
		sscanf(iBuf,"%lx",&id);
		
	}
	return id;


}

CString CUsbInfoPage::Conver(int i)
{
	if(i==0)
		return "任何人";
	if(i==1)
		return "用戶";
	if(i==2)
		return "管理員";
	if(i==7)
		return "禁止";
	else
		return "不知道";

}

void CUsbInfoPage::GetFileDirInfo(UINT type,DWORD id)//得到目錄、文件信息
{
	if(type==1000)//跟目錄
	{
		SetDlgItemText(IDC_EDIT_ID,"ROOT");
		SetDlgItemText(IDC_EDIT_TYPE,"ROOT");
		SetDlgItemText(IDC_EDIT_SPACE,"ROOT");
		SetDlgItemText(IDC_EDIT_READ,"ROOT");
		SetDlgItemText(IDC_EDIT_WRITE,"ROOT");
		SetDlgItemText(IDC_EDIT_CRYPT,"ROOT");
		return;
	}
	EPAS_FILEINFO fileInfo;
    m_epsRet=epas_GetFileInfo(m_handle,type,id,0,&fileInfo,sizeof(EPAS_FILEINFO));
	if(OperateMsg("epas_GetFileInfo",m_epsRet))
	{
		char buf[10]={0};
		SetDlgItemText(IDC_EDIT_ID,itoa(fileInfo.ulID,buf,16));
		SetDlgItemText(IDC_EDIT_TYPE,itoa(fileInfo.ucFileType,buf,10));
		SetDlgItemText(IDC_EDIT_SPACE,itoa(fileInfo.ulFileSize,buf,10));

		SetDlgItemText(IDC_EDIT_READ,Conver(fileInfo.ucReadAccess));
		SetDlgItemText(IDC_EDIT_WRITE,Conver(fileInfo.ucWriteAccess));
		SetDlgItemText(IDC_EDIT_CRYPT,Conver(fileInfo.ucCryptAccess));
		
	}
}

BOOL CUsbInfoPage::OnInitDialog() 
{
	CPropertyPage::OnInitDialog();
	
	// TODO: Add extra initialization here
	m_imgList.Create(24,24,TRUE|ILC_COLOR8,2,2);
	HICON hIcon = NULL;

	hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(), 
		MAKEINTRESOURCE(IDI_ICON_ROOT), IMAGE_ICON, 24, 24, 0);
	m_imgList.Add(hIcon);
	hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(), 
		MAKEINTRESOURCE(IDI_ICON_DIRC), IMAGE_ICON, 24, 24, 0);
	m_imgList.Add(hIcon);
	hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(), 
		MAKEINTRESOURCE(IDI_ICON_DIRO), IMAGE_ICON, 24, 24, 0);
	m_imgList.Add(hIcon);
	hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(), 
		MAKEINTRESOURCE(IDI_ICONFILE), IMAGE_ICON, 24, 24, 0);
	m_imgList.Add(hIcon);
	hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(), 
		MAKEINTRESOURCE(IDI_ICONKEY), IMAGE_ICON, 24, 24, 0);
	m_imgList.Add(hIcon);

	m_Tree.SetImageList(&m_imgList,TVSIL_NORMAL);

//	m_Tree.SetBkColor(RGB(200,100,0));

	epas_ResetSecurityState(m_handle,0);
	GetDir();
	GetFreeDevice();
//	GetDlgItem(IDCANCEL)->ShowWindow(SW_HIDE);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CUsbInfoPage::OnRclickTree(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	HTREEITEM handle=m_Tree.GetSelectedItem();
	if(handle==NULL) return;
//	m_Tree.SetCheck(handle,TRUE);
	DWORD info=m_Tree.GetItemData(handle);
	
	POINT point;
	GetCursorPos(&point);
	CMenu menu;
	menu.LoadMenu(IDR_MENU_INFO);
	CMenu* pPopup = menu.GetSubMenu(0);
	ASSERT(pPopup);
//	if(m_VerifySo==false)
//		pPopup->EnableMenuItem(ID_MENU_FORMAT,MF_BYCOMMAND|MF_GRAYED); 
	switch(info)
	{
	case 0: //根目錄
		pPopup->EnableMenuItem(ID_MENU_DELDIR,MF_BYCOMMAND|MF_GRAYED); 
		pPopup->EnableMenuItem(ID_MENU_DELFILE,MF_BYCOMMAND|MF_GRAYED); 
	break;
	case 1://目錄

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
丁香桃色午夜亚洲一区二区三区| 亚洲高清免费观看高清完整版在线观看| 午夜欧美电影在线观看| 色噜噜狠狠色综合中国| 一区二区三区久久| 欧美最猛黑人xxxxx猛交| 亚洲不卡av一区二区三区| 欧美三级在线播放| 蜜桃精品视频在线| 国产日韩综合av| 91丨九色丨蝌蚪富婆spa| 悠悠色在线精品| 在线播放91灌醉迷j高跟美女 | 国产综合久久久久久鬼色| 日韩精品一区二区三区视频在线观看 | 激情综合网激情| 久久久久国产精品麻豆ai换脸 | 精品一区二区国语对白| 久久精品欧美日韩| 97久久精品人人爽人人爽蜜臀| 亚洲欧洲三级电影| 欧美老肥妇做.爰bbww视频| 九九视频精品免费| 国产精品成人免费| 欧美喷潮久久久xxxxx| 精品一区二区在线观看| 日韩一区在线免费观看| 欧美一区二区网站| 成人亚洲一区二区一| 亚洲午夜精品17c| 久久久五月婷婷| 91福利精品视频| 青草av.久久免费一区| 国产精品乱子久久久久| 欧美高清一级片在线| 国产精华液一区二区三区| 亚洲国产精品视频| 日本一区二区三区dvd视频在线| 欧美综合色免费| 国产成人综合亚洲网站| 无码av免费一区二区三区试看| 久久亚洲一区二区三区四区| 欧美在线观看视频一区二区| 国产精品自拍在线| 婷婷久久综合九色综合绿巨人| 国产亚洲成av人在线观看导航 | 亚洲色欲色欲www| 精品对白一区国产伦| 欧美体内she精高潮| 成人午夜在线免费| 另类专区欧美蜜桃臀第一页| 亚洲男人天堂av| 久久午夜电影网| 欧美一级黄色片| 欧美中文字幕一区| 91视视频在线观看入口直接观看www | 成人av网站在线观看免费| 日韩av一区二区三区| 亚洲乱码国产乱码精品精98午夜| 精品国内二区三区| 欧美一区二区三区四区在线观看| 色综合久久久久综合体| 成人av中文字幕| 国产一区二区三区精品视频| 日产欧产美韩系列久久99| 亚洲精品中文字幕乱码三区| 国产亚洲一本大道中文在线| 26uuu国产日韩综合| 91精品视频网| 欧美日韩国产一二三| 欧美午夜电影网| 欧日韩精品视频| 欧美视频一区二区三区| 91久久线看在观草草青青| 99亚偷拍自图区亚洲| av亚洲精华国产精华精| 成人免费高清视频在线观看| 国产成人啪免费观看软件 | 中文一区二区在线观看| 精品国产露脸精彩对白| 欧美成人乱码一区二区三区| 日韩一区二区三| 日韩精品一区二区在线观看| 精品久久人人做人人爰| 精品久久久久av影院| 久久新电视剧免费观看| 久久久精品国产免费观看同学| 欧美sm美女调教| 国产午夜精品久久久久久久 | 亚洲丝袜自拍清纯另类| 国产精品国产三级国产aⅴ原创| 国产精品久久综合| 亚洲欧美一区二区三区孕妇| 亚洲另类春色国产| 亚洲一卡二卡三卡四卡五卡| 日韩精品五月天| 玖玖九九国产精品| 国产精品中文字幕一区二区三区| 国产一区二区三区久久久| 成人av在线资源网站| 色噜噜偷拍精品综合在线| 欧美日韩午夜影院| 精品av综合导航| 国产精品二区一区二区aⅴ污介绍| 国产精品午夜免费| 亚洲午夜激情av| 激情丁香综合五月| 91免费视频网| 在线不卡一区二区| 久久精品无码一区二区三区| 国产精品不卡一区二区三区| 亚洲已满18点击进入久久| 日韩国产精品久久久久久亚洲| 狠狠v欧美v日韩v亚洲ⅴ| 色婷婷久久久久swag精品| 欧美一区二区日韩| 国产精品久久三| 日本va欧美va精品| 不卡的av电影在线观看| 51精品国自产在线| 国产精品久久久久一区| 欧美aaa在线| 成人免费黄色大片| 日韩欧美亚洲另类制服综合在线| 国产肉丝袜一区二区| 天天综合色天天| av在线一区二区| 日韩区在线观看| 亚洲日本va午夜在线影院| 精品写真视频在线观看| 在线看一区二区| 国产精品日产欧美久久久久| 奇米影视7777精品一区二区| 99r精品视频| 国产日产欧美一区二区视频| 香蕉乱码成人久久天堂爱免费| 国产一区二区在线观看视频| 欧美三级韩国三级日本一级| 中文字幕一区二区三中文字幕| 午夜精品一区二区三区三上悠亚| 成人午夜精品在线| 337p日本欧洲亚洲大胆精品| 亚洲动漫第一页| jizzjizzjizz欧美| 久久久夜色精品亚洲| 日韩国产在线观看一区| 91亚洲精品乱码久久久久久蜜桃| 日韩一区二区电影网| 亚洲高清三级视频| 色婷婷av一区二区三区之一色屋| 国产亚洲精品精华液| 久久av资源网| 69精品人人人人| 亚洲图片欧美综合| 91麻豆精品在线观看| 日本一区二区三区在线不卡| 经典一区二区三区| 欧美电视剧在线看免费| 亚洲夂夂婷婷色拍ww47| 色婷婷综合久久久久中文| 一区视频在线播放| 91视频你懂的| 一区二区三区四区视频精品免费 | 日本高清不卡视频| 亚洲日本va在线观看| 波多野结衣欧美| 中文字幕在线不卡国产视频| 成人综合婷婷国产精品久久 | 国产精品不卡视频| 99国产一区二区三精品乱码| 国产精品区一区二区三| 成人免费黄色在线| 亚洲视频一区二区在线| 色激情天天射综合网| 亚洲综合在线观看视频| 欧美在线免费视屏| 亚洲va国产va欧美va观看| 欧美在线高清视频| 亚洲成av人在线观看| 欧美老女人在线| 美女视频黄a大片欧美| 日韩欧美一区二区视频| 国产在线精品一区二区不卡了 | 一道本成人在线| 亚洲午夜精品17c| 欧美一区二区三区人| 狠狠狠色丁香婷婷综合激情 | 国产成人综合网站| 国产精品国模大尺度视频| 色妞www精品视频| 亚洲成人手机在线| 精品久久久久久久久久久久包黑料 | 欧美日韩在线观看一区二区| 亚洲国产综合在线| 欧美成人一区二区三区| 国产成人午夜电影网| 一区二区视频在线| 欧美一区二区三区视频在线观看 | 亚洲国产高清不卡| 国产麻豆9l精品三级站|