亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
激情国产一区二区| 欧美一二三区在线观看| 欧美天天综合网| 日韩女优视频免费观看| 国产精品不卡一区二区三区| 日韩精品一区第一页| 韩国中文字幕2020精品| 91豆麻精品91久久久久久| 精品久久久久久久久久久久久久久| 亚洲国产高清在线| 日韩国产欧美在线视频| 91香蕉视频黄| 国产日韩欧美一区二区三区乱码 | 成人午夜激情视频| 69堂成人精品免费视频| 亚洲视频在线一区| 国产福利一区在线| 日韩欧美一区中文| 亚洲午夜在线视频| www.日韩精品| 亚洲国产成人在线| 韩日精品视频一区| 91精品国产乱码久久蜜臀| 亚洲精品成人悠悠色影视| 国产精品1区2区3区在线观看| 91精品国产色综合久久不卡蜜臀| 亚洲手机成人高清视频| 国产一区二区三区精品欧美日韩一区二区三区 | 一区二区三区日韩精品| 国产精品一区一区三区| 日韩欧美亚洲国产精品字幕久久久| 艳妇臀荡乳欲伦亚洲一区| av一区二区三区黑人| 中文字幕乱码日本亚洲一区二区| 麻豆91精品视频| 91精品国产福利| 日本不卡视频在线| 欧美日韩成人综合在线一区二区| 亚洲三级电影网站| 北岛玲一区二区三区四区| 中文文精品字幕一区二区| 国产在线精品不卡| 久久久亚洲综合| 国产一区二区日韩精品| 久久久久成人黄色影片| 国产成人av一区二区| 亚洲国产精品成人久久综合一区| 懂色av一区二区三区蜜臀| 国产日产精品一区| 成人永久aaa| 中文字幕在线免费不卡| 99久久国产综合色|国产精品| 国产精品久久久久久久第一福利| 99久久久精品| 亚洲在线视频一区| 欧美日本一区二区在线观看| 免费成人结看片| 久久嫩草精品久久久精品一| 国产白丝网站精品污在线入口| 国产精品你懂的在线| 一本色道综合亚洲| 日韩国产精品大片| 国产日韩精品一区| 一本大道久久a久久综合| 亚洲成人三级小说| 精品久久久久一区二区国产| 国产成人综合自拍| 亚洲精品大片www| 制服丝袜激情欧洲亚洲| 国产中文字幕精品| 成人免费在线视频| 91精品国产欧美一区二区成人| 国产尤物一区二区在线| 亚洲天堂福利av| 欧美一级片免费看| 播五月开心婷婷综合| 亚洲成人激情综合网| 26uuu色噜噜精品一区| 99久久精品免费看国产免费软件| 亚洲国产精品嫩草影院| 久久亚区不卡日本| 一本一本久久a久久精品综合麻豆| 日日夜夜免费精品| 国产精品免费久久| 欧美一区二区三区视频免费| 99精品在线免费| 另类欧美日韩国产在线| 一区二区不卡在线视频 午夜欧美不卡在| 91精品婷婷国产综合久久| 成人国产精品免费观看| 调教+趴+乳夹+国产+精品| 亚洲国产精品成人综合| 日韩三级.com| 欧美性一级生活| 成人午夜av电影| 美女性感视频久久| 午夜精品久久久久影视| 日韩理论在线观看| 久久新电视剧免费观看| 91精品国产色综合久久| 在线一区二区三区做爰视频网站| 国产成人精品在线看| 精品午夜久久福利影院| 午夜欧美电影在线观看| 亚洲美女在线国产| 国产精品美日韩| 欧美国产日韩在线观看| 国产亚洲欧美中文| 精品免费99久久| 日韩精品一区二| 在线播放日韩导航| 欧美午夜精品一区| 在线欧美日韩国产| 色噜噜狠狠色综合中国| 99久久精品免费看国产免费软件| 成人免费毛片a| 成人精品在线视频观看| 日本丶国产丶欧美色综合| 成人精品视频一区二区三区| 成人精品免费网站| 99re这里只有精品视频首页| 成人免费视频国产在线观看| 成人黄色在线网站| av午夜精品一区二区三区| 丁香另类激情小说| 国产精品1024| av电影在线观看一区| 91视视频在线观看入口直接观看www| 成人av资源在线| 91麻豆免费视频| 91福利小视频| 在线电影欧美成精品| 欧美成人乱码一区二区三区| xnxx国产精品| 国产精品色在线观看| 亚洲蜜臀av乱码久久精品| 亚洲v中文字幕| 免费日韩伦理电影| 国产乱人伦偷精品视频免下载| 国产999精品久久| 一本色道久久加勒比精品| 欧美日韩一区小说| 精品国产免费人成电影在线观看四季| 久久久久久亚洲综合| 亚洲三级免费观看| 日本少妇一区二区| 国产精品99久久久久久似苏梦涵 | 国产寡妇亲子伦一区二区| 国产成人啪午夜精品网站男同| caoporn国产精品| 欧美日韩高清在线| 久久精品一区二区三区不卡| 亚洲精品国产精华液| 蜜桃久久久久久| 99久久久无码国产精品| 欧美一区二区视频在线观看2020| 久久精子c满五个校花| 亚洲综合免费观看高清完整版| 日韩在线一区二区| 懂色av一区二区夜夜嗨| 欧美三级一区二区| 国产偷v国产偷v亚洲高清| 亚洲国产婷婷综合在线精品| 国产中文字幕一区| 欧美无砖专区一中文字| 亚洲1区2区3区视频| 狠狠色丁香久久婷婷综合_中| www.成人网.com| 欧美成人a视频| 洋洋av久久久久久久一区| 国产高清成人在线| 制服丝袜在线91| 亚洲柠檬福利资源导航| 国产一区二区三区香蕉| 51久久夜色精品国产麻豆| 国产精品成人一区二区三区夜夜夜 | 国产一区二区三区精品欧美日韩一区二区三区 | 亚洲在线视频免费观看| 国产乱淫av一区二区三区| 欧美日韩激情在线| 中文字幕视频一区| 国产精品香蕉一区二区三区| 91精品国产综合久久久蜜臀粉嫩 | av电影一区二区| 久久亚洲精精品中文字幕早川悠里 | 在线观看91av| 亚洲欧美日韩电影| 成人av网址在线| 国产亚洲欧洲一区高清在线观看| 无吗不卡中文字幕| 久久精子c满五个校花| 偷拍日韩校园综合在线| 一本一道综合狠狠老| 国产精品视频yy9299一区| 久久91精品国产91久久小草| 91精品国产综合久久久久久久久久 | 美女mm1313爽爽久久久蜜臀| 欧美日韩在线亚洲一区蜜芽| 亚洲精选在线视频| 色网综合在线观看|