SHBrowseForFolder 函数
定义:WINSHELLAPI LPITEMIDLIST WINAPI SHBrowseForFolder(LPBROWSEINFO lpbi);
说明:显示一个对话框,供用户选择一个文件夹路径。
返回an item identifier list的地址,这个地址指示选中文件夹相对于命名空间根的地方;
如果用户选择取消,则返回NULL。
参数:
lpbi BROWSEINFO结构的地址,指示显示对话框。
BROWSEINFO
定义:
typedef struct _browseinfo {
HWND hwndOwner;
LPCITEMIDLIST pidlRoot;
LPSTR pszDisplayName;
LPCSTR lpszTitle;
UINT ulFlags;
BFFCALLBACK lpfn;
LPARAM lParam;
int iImage;
} BROWSEINFO, *PBROWSEINFO, *LPBROWSEINFO;
说明:SHBrowseForFolder函数的参数。
成员变量:
hwndOwner:浏览文件夹对话框的父窗体的句柄。
pidlRoot:ITEMIDLIST结构的地址。包含浏览时的初始根目录,只有被指定的目录和子目录时才显示在浏览文件夹对话框中。可以为NULL, 此时桌面目录将被使用。
pszDisplayName:保存用户选中的目录字符串的地址,一个缓冲区。缓冲区缺省大小事MAX_PATH。
lpszTitle:该浏览文件夹对话框的显示文本,用来提示该浏览文件夹对话框的功能、作用和目的。
ulFlags:指定对话框的选项。可以为0,也可以是以下值的组合。
BIF_BROWSEFORCOMPUTER:只能返回计算机,否则确定为灰色。
BIF_BROWSEFORPRINTER:只能返回打印机,否则确定为灰色。
BIF_BROWSEINCLUDEFILES:文件和文件夹都会在浏览对话框中显示。
BIF_DONTGOBELOWDOMAIN:不包括网络文件夹。
BIF_EDITBOX:浏览对话框中包含一个编辑控件,用户可以键入项目名字。
BIF_RETURNFSANCESTORS:只返回文件,否则确定为灰。
BIF_RETURNNONLYFSDIRS:只返回文件夹,否则确定为灰。
BIF_STATUSTEXT:浏览对话框包含一个状态栏。
BIF_VALIDATE:用户在编辑框中键入无效名称时,浏览对话框会调用BrowseCallbackProc返回 BFFM_VALIDATEFAILED消息。如果BIF_EDITBOX没被指定,则忽略之。
lpfn:详细信息参看BrowseCallbackProc函数。可以为NULL。
lParam:
iImage: