www.pudn.com > source.rar > Shell.h
// Shell.h: interface for the CShell class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_SHELL_H__6D15D05C_CD8B_4422_BFAF_D0A70F36E352__INCLUDED_)
#define AFX_SHELL_H__6D15D05C_CD8B_4422_BFAF_D0A70F36E352__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
struct CShellTreeItemData //Shell文件目录树项数据类
{
LPSHELLFOLDER m_pParentShellFolder; //指向父级目录的指针
LPITEMIDLIST m_pIDList; //ID List
LPITEMIDLIST m_pFullIDList; //完整的ID List
};
struct CShellListItemData: public CShellTreeItemData //Shell文件列表项数据类
{
ULONG m_Attribute; //文件属性
int m_Flag; //辅助标志位
};
class CShell //Shell文件基础类
{
public:
//属性
BOOL m_ShowHidden; //是否显示隐藏文件
BOOL m_Building; //是否正在构造视图
static HIMAGELIST h_SmallImageList;
static HIMAGELIST h_LargeImageList;
static CImageList m_SmallImageList;
static CImageList m_LargeImageList;
//方法
static int CALLBACK Compare(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort);
BOOL IsValidPath(CString Path);
static int CompareStid(LPARAM lparam,LPCITEMIDLIST pIDList);
static int CALLBACK SortProc(LPARAM lparam1, LPARAM lparam2, LPARAM lparamSort);
static int CompareStid(LPARAM lparam1, LPARAM lparam2);
void GetFileInfo(LPITEMIDLIST lpi, UINT uFlags,SHFILEINFO * psfi);
void ShowHidden(BOOL Hidden=TRUE);
int GetItemIcon(LPITEMIDLIST lpi, UINT uFlags);
BOOL GetItemName(LPSHELLFOLDER lpsf, LPITEMIDLIST lpi, DWORD dwFlags, LPTSTR lpFriendlyName);
UINT GetSize(LPCITEMIDLIST pidl);
LPITEMIDLIST CopyPidl(LPMALLOC lpMalloc, LPITEMIDLIST lpi);
LPITEMIDLIST CreatePidl(UINT cbSize);
LPITEMIDLIST ConcatPidl(LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2);
CShell();
virtual ~CShell();
CImageList * GetImageList(BOOL Small);
};
#endif // !defined(AFX_SHELL_H__6D15D05C_CD8B_4422_BFAF_D0A70F36E352__INCLUDED_)