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

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

?? usbinfopage.cpp

?? 基本實現了數字證書的制作、SSL安全通訊、加解密操作等功能
?? 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一区二区三区免费野_久草精品视频
国产精品欧美一级免费| 国产在线一区观看| 黄页网站大全一区二区| 99久久精品国产网站| 欧美久久久久久久久中文字幕| 久久久久国产精品免费免费搜索| 亚洲欧美日韩国产一区二区三区| 麻豆成人91精品二区三区| 一本到一区二区三区| 久久一留热品黄| 日韩影院精彩在线| 一本色道久久综合精品竹菊| 精品国产乱码久久久久久1区2区| 有码一区二区三区| 波多野结衣亚洲| 久久久久久久av麻豆果冻| 日本免费新一区视频| 欧美在线小视频| 久久精品日韩一区二区三区| 老色鬼精品视频在线观看播放| 欧美视频中文一区二区三区在线观看| 中文字幕在线观看一区二区| 国产风韵犹存在线视精品| 日韩精品资源二区在线| 男人操女人的视频在线观看欧美| 91搞黄在线观看| 亚洲欧美日韩国产手机在线 | 精品裸体舞一区二区三区| 亚洲激情第一区| 色婷婷亚洲一区二区三区| 国产精品视频在线看| 国产精品996| 久久综合狠狠综合久久激情| 久久机这里只有精品| 精品理论电影在线| 久久99国产精品免费网站| 日韩一级成人av| 日本不卡免费在线视频| 欧美精品电影在线播放| 日韩成人精品在线观看| 欧美一三区三区四区免费在线看 | 中文字幕va一区二区三区| 国产一区二区三区视频在线播放| 欧美电影免费观看完整版| 狠狠色丁香久久婷婷综合丁香| 精品卡一卡二卡三卡四在线| 国产一区二区免费视频| 国产日韩欧美一区二区三区乱码| 国产麻豆成人传媒免费观看| 日本一区免费视频| 99久久精品国产观看| 久久精品理论片| 久久在线观看免费| 成人avav影音| 曰韩精品一区二区| 日韩午夜在线影院| 粉嫩av一区二区三区| 一区二区在线免费| 7777精品伊人久久久大香线蕉超级流畅| 免费人成在线不卡| 国产欧美一区二区三区沐欲| 成人av电影免费在线播放| 亚洲专区一二三| 日韩欧美激情一区| 床上的激情91.| 伊人婷婷欧美激情| 欧美变态tickle挠乳网站| 国产v日产∨综合v精品视频| 亚洲三级在线观看| 欧美大白屁股肥臀xxxxxx| 懂色一区二区三区免费观看| 亚洲国产综合人成综合网站| 精品国精品国产尤物美女| 91视频在线观看免费| 日韩成人精品在线| 亚洲三级小视频| 日韩女优av电影在线观看| 99久久精品国产毛片| 精品一区二区三区不卡| 一区二区三区毛片| 久久久久99精品一区| 欧美艳星brazzers| 粉嫩久久99精品久久久久久夜| 午夜精彩视频在线观看不卡| 国产日韩欧美制服另类| 欧美一卡2卡3卡4卡| 91日韩在线专区| 国产超碰在线一区| 日韩成人免费看| 一区二区三区精品久久久| 国产三级欧美三级日产三级99| 欧美日韩国产影片| 97se亚洲国产综合在线| 经典一区二区三区| 石原莉奈在线亚洲三区| 亚洲日本中文字幕区| 国产欧美中文在线| 久久女同精品一区二区| 91精品久久久久久久久99蜜臂| 91麻豆国产自产在线观看| 国产精品亚洲第一区在线暖暖韩国| 香蕉av福利精品导航| 亚洲精品va在线观看| 国产精品久久久久久久久果冻传媒| 欧美一区二区久久久| 欧美日韩一卡二卡三卡| 91免费版在线看| 91在线视频网址| 成人久久视频在线观看| 国产**成人网毛片九色| 国产精品自拍在线| 国产乱人伦精品一区二区在线观看 | 亚洲激情自拍视频| 国产精品沙发午睡系列990531| 久久久久久免费网| 久久亚区不卡日本| 久久蜜桃香蕉精品一区二区三区| 日韩精品一区二区在线| 日韩女优av电影| 久久久美女艺术照精彩视频福利播放| 欧美成人video| 久久九九国产精品| 国产精品私人影院| 亚洲婷婷综合久久一本伊一区| 亚洲欧洲日韩一区二区三区| 中文字幕亚洲欧美在线不卡| 亚洲色图色小说| 亚洲国产美女搞黄色| 性做久久久久久久免费看| 亚洲超丰满肉感bbw| 蜜桃视频在线观看一区二区| 免费成人在线播放| 国产精品影视天天线| 成人久久久精品乱码一区二区三区| 波多野结衣的一区二区三区| 在线观看不卡一区| 欧美群妇大交群中文字幕| 日韩欧美一区二区在线视频| 久久午夜国产精品| 国产精品国产三级国产普通话蜜臀| 亚洲美女免费视频| 免费在线观看精品| 成人免费视频caoporn| 色婷婷综合久久久中文字幕| 欧美一区二区高清| 国产精品毛片久久久久久久| 一区二区三区不卡在线观看| 男女男精品网站| 成人一区二区在线观看| 欧美视频一二三区| 久久久久国产成人精品亚洲午夜| 亚洲人妖av一区二区| 蜜桃视频一区二区三区在线观看| 成人午夜在线播放| 欧美日韩国产另类不卡| 国产无一区二区| 婷婷国产在线综合| 国产成人综合视频| 欧美性色黄大片| 国产欧美日韩精品在线| 亚洲成人免费电影| 高清成人免费视频| 亚洲另类色综合网站| 男人的j进女人的j一区| 91影院在线观看| 欧美videossexotv100| 亚洲婷婷综合久久一本伊一区| 日韩欧美国产一区二区三区 | 不卡的av中国片| 欧美男同性恋视频网站| 中文字幕在线一区| 国模少妇一区二区三区| 欧美日韩激情在线| 国产精品久久99| 激情亚洲综合在线| 欧美视频日韩视频在线观看| 国产欧美日韩精品在线| 久久99精品国产.久久久久| 色国产综合视频| 亚洲国产电影在线观看| 九九在线精品视频| 欧美老女人在线| 亚洲欧美日韩国产成人精品影院 | 久久网站热最新地址| 婷婷亚洲久悠悠色悠在线播放 | 亚洲欧洲精品一区二区精品久久久| 另类小说视频一区二区| 在线一区二区三区四区| 国产精品伦理一区二区| 国产精品一区二区在线观看不卡 | 久久精品久久综合| 欧美日韩国产一区二区三区地区| 亚洲欧美电影院| 91性感美女视频| 国产精品久久午夜| 成人午夜伦理影院| 国产欧美精品区一区二区三区| 久久国产精品72免费观看| 日韩欧美激情在线| 久久99精品国产麻豆婷婷|