WinCE怎么获得所有文件夹信息,用SHGetFileInfo()如何获取不到啊
WinCE如何获得所有文件夹信息,用SHGetFileInfo()怎么获取不到啊,
就是做个类似windows资源管理器,分左右2边,TreeView,ListView.
------解决方案--------------------
就是做个类似windows资源管理器,分左右2边,TreeView,ListView.
Wince
资源管理器
------解决方案--------------------
void FileViewDlg::EnumFiles(LPCTSTR pszPath, LPCTSTR pszFilter)
{
WIN32_FIND_DATA fd;
HANDLE hFind;
BOOL bFind;
CString strSearch(pszPath),
strFile;
int i = m_listFile.GetItemCount();
LVITEM lvItem;
COleDateTime odt;
//CDateTimeFormat dtf;
CWaitCursor wait;
//
// Flush the list
//
//m_listFile.DeleteAllItems();
//m_cont.clear();
//
// Fill in the list
//
strSearch += pszFilter;
hFind = FindFirstFile(strSearch, &fd);
bFind = (hFind != INVALID_HANDLE_VALUE);
//
// Disable painting the list
//
while(bFind)
{
if(!(fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) &&
!(fd.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN))
{
strFile = pszPath;
strFile += fd.cFileName;
lvItem.iItem = i;
lvItem.iSubItem = 0;
lvItem.pszText = (LPTSTR)(LPCTSTR)(fd.cFileName);
lvItem.mask = LVIF_TEXT
------解决方案--------------------
LVIF_IMAGE
------解决方案--------------------
LVIF_PARAM;
lvItem.iImage = GetIconIndex(strFile);
lvItem.lParam = 0;
m_listFile.InsertItem(&lvItem);
// if(iItem != -1)
// {
//
// Format size according to locale
//
//m_listFile.SetItemText(iItem, 1, FormatSize(fd.nFileSizeLow));
////
//// Format date according to locale
////
//odt = fd.ftLastWriteTime;
//dtf.SetDateTime(odt);
//dtf.SetFormat(m_strDateFormat);
//m_listFile.SetItemText(iItem, 2, dtf.GetString());
// m_listFile.SetItemData(iItem, i);
m_cont.push_back(fd);
// }
i++;
}
bFind = FindNextFile(hFind, &fd);
}
DoSortList();
//
// Enable painting the list
//
}
int FileViewDlg::EnumDirs(LPCTSTR pszPath, LPCTSTR pszFilter)
{
WIN32_FIND_DATA fd;
HANDLE hFind;
BOOL bFind;
//HTREEITEM hItem = TVI_LAST;
CString strSearch(pszPath),
strBase(pszPath);
int nCount = m_listFile.GetItemCount();
LVITEM lvItem;
strSearch += pszFilter;
hFind = FindFirstFile(strSearch, &fd);
bFind = (hFind != INVALID_HANDLE_VALUE);
while(bFind)
{
if((fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) &&
!(fd.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN))
{
// TVINSERTSTRUCT tvi;
// CString strSub(strBase);
// int iIcon;
// strSub += fd.cFileName;
// iIcon = GetIconIndex(strSub);
// tvi.hParent = hItemParent;
// tvi.hInsertAfter = TVI_LAST;
// tvi.item.mask = TVIF_CHILDREN