您的位置:首页 > 其它

SHBrowseForFolder

2013-12-10 17:53 381 查看
SHBrowseForFolder最简单的用法

char path[MAX_PATH] = {0};

BROWSEINFO bi;

ZeroMemory(&bi,sizeof(bi));

bi.ulFlags = BIF_BROWSEINCLUDEFILES;

LPITEMIDLIST pList = ::SHBrowseForFolder(&bi);

if(pList != NULL) ::SHGetPathFromIDList(pList,path);

OK,path就是选择的文件夹或者文件的路径了。

现在要给这个对话框加个编辑框,给.ulFlags加上|BIF_EDITBOX这个参数。

上面的代码几乎是个非常裸露的代码,很不严谨,在实际的代码中,需要很多完善,比如

pList的资源释放工作:

IMalloc * imalloc = 0;

if (SUCCEEDED(SHGetMalloc(&imalloc)))

{

imalloc->Free (pList);

imalloc->Release();

}

MSDN: http://msdn.microsoft.com/en-us/library/bb762115(v=vs.85).aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: