一、利用API函数SHBrowseForFolder
BROWSEINFO的结构如下:
typedef struct _browseinfo {
HWND hwndOwner; // 父窗口句柄
LPCITEMIDLIST pidlRoot; // 要显示的文件夹的根(Root)
LPTSTR pszDisplayName; // 保存被选取的文件夹路径的缓冲区
LPCTSTR lpszTitle; // 显示位于对话框左上部的标题
UINT ulFlags; // 指定对话框的外观和功能的标志
BFFCALLBACK lpfn; // 处理事件的回调函数
LPARAM lParam; // 应用程序传给回调函数的参数
int iImage; // 保存被选取的文件夹的图片索引
} BROWSEINFO, *PBROWSEINFO, *LPBROWSEINFO;
二、利用API函数GetOpenFileName和GetSaveFileName
OPENFILENAME的结构如下:
typedef struct tagOFN{
DWORD lStructSize;
HWND hwndOwner;
三、利用MFC类 CFileDialog
这个类似乎是封装了 GetOpenFileName和 GetSaveFileName.