目录浏览对话框和遍历文件夹

BROWSEINFO结构体,主要是对目录对话框的设计,包括以下几个成员:
typedef struct _browseinfo { 
 HWND hwndOwner;         //设定对话框的父窗口
 LPCITEMIDLIST pidlRoot;  //指定对话框中要显示的root目录,如果为空则显示桌面上的root目录
 LPSTR pszDisplayName; //存储用户选择路径的buffer,大小可以设置为MAX_PATH
 LPCSTR lpszTitle;    //对话框中的标题(提示信息)
 UINT ulFlags;    //选择目录的模式,比如可以只能选择计算机,只能选择目录或能选择具体的文件等
 BFFCALLBACK lpfn;  //当被创建时调用的函数指针,经常设置为null
 LPARAM lParam; //函数的参数
 int iImage; //存储与被选择的文件夹相关的image的变量 
 } BROWSEINFO, *PBROWSEINFO, *LPBROWSEINFO;
LPITEMIDLIST SHBrowseForFolder(LPBROWSEINFO lpbi)显示选择目录对话框并返回用户选择的路径,该路径被放在结构体ITEMIDLIST
 BOOL  SHGetPathFromIDList( LPCITEMIDLIST pidl, LPSTR pszPath )将pidl中存储的路径信息存储到pszPath中,这样就得到了用户选择的路径

//得到目录中的文件(遍历文件夹,如果里面还含有文件夹,这种方法还要添加其他判断语句)
 CFileFind finder; 
 BOOL bWorking = finder.FindFile("*.*"); 
 while (bWorking) { 
 bWorking = finder.FindNextFile(); 
 cout << (LPCTSTR) finder.GetFileName() << endl; } 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章