📄 storagecard.cpp
字号:
// StorageCard.cpp: implementation of the CStorageCard class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "StorageCard.h"
#include "Projects.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
/* 给EnumProjectsFilesEx的回调函数
* 用于得到storagecard上的路径
*/
BOOL CALLBACK CStorageCard::EnumProjectsFilesExCallback(PAstruct* pPA, LPARAM lParam)
{
CString str(pPA->m_szPathname);
if (!s_listStorageName.IsEmpty())
{
if (s_listStorageName.GetTail().Compare(str.Left(str.Find(L"\\", 1))) != 0)
s_listStorageName.AddTail(str.Left(str.Find(L"\\", 1)));
}
else
s_listStorageName.AddTail(str.Left(str.Find(L"\\", 1)));
return TRUE;
}
/* 查询pda上有多少块存储卡
* 结果存放在s_listStorageName中
*/
CStorageCard::CStorageCard()
{
s_listStorageName.RemoveAll();
HANDLE hFlashCard = NULL;
WIN32_FIND_DATA *lpwfdFlashCard = new WIN32_FIND_DATA[10];
BOOL bContinue = TRUE;
int i = 0;
hFlashCard = FindFirstFlashCard (&lpwfdFlashCard[i]);
if (hFlashCard == INVALID_HANDLE_VALUE)
{
delete[] lpwfdFlashCard;
return;
}
while (bContinue)
{
bContinue = FindNextFlashCard (hFlashCard, &lpwfdFlashCard[++i]);
}
FindClose (hFlashCard);
for (int nindex = 0; nindex < i; ++nindex)
{
EnumProjectsFilesEx(
EnumProjectsFilesExCallback,
lpwfdFlashCard[nindex].dwOID,
PRJ_ENUM_FLASH,
NULL,
L"*.*",
0);
}
delete[] lpwfdFlashCard;
}
CStorageCard::~CStorageCard()
{
}
/* 返回存储卡的数量
*
* 返回值:
* int 存储卡的数量
*/
int CStorageCard::GetCount()
{
return s_listStorageName.GetCount();
// return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -