如何用CFileDialog得到一个文件夹的路径? CFileDialog直接选中文件夹是不能按确定打开的,他必须定位一个文件才能打开,我想实现象ACDsee打开文件夹那样的功能,就是只需得到文件夹的路径而不需要打开它里面的文件该怎么做呀? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 打开文件夹用 SHBrowseFolder 用SHBrowseFolder的SHGetPathFromIDList 1.如何显示选择文件夹的对话框.调用API函数, WINSHELLAPI LPITEMIDLIST WINAPI SHBrowseForFolder(LPBROWSEINFO lpbi); 其参数lpbi成员的意义为(参照下图)hwndOwner : 父窗口的句柄.PidlRoot : 根目录.PszDisplayName : 用户选择的文件夹.lpszTitle : 标题ulFlags : 风格lpfn : 回调函数lParam : 回调函数的参数.iImage : 用户选择的文件夹的图标. BROWSEINFO bInfo; ZeroMemory(&bInfo, sizeof(bInfo)); bInfo.hwndOwner = m_hWnd; TCHAR tchPath[255]; bInfo.lpszTitle = _T("所选择路径: "); bInfo.ulFlags = BIF_RETURNONLYFSDIRS; LPITEMIDLIST lpDlist; //用来保存返回信息的IDList,使用SHGetPathFromIDList函数转换为字符串 lpDlist = SHBrowseForFolder(&bInfo) ; //显示选择对话框 if(lpDlist != NULL) { SHGetPathFromIDList(lpDlist, tchPath);//把项目标识列表转化成目录 TRACE(tchPath); } 有一组 14bit的 灰度像素 怎么显示 关于WaitCommEvent 的一个问题 shell编程中explorer退出无法跟踪调试 注册表修改与删除中的权限问题! 如何自动重新连接数据库,ODBC的 这个窗口的句柄 该如何得到呢? 关于FindFirstFile的问题 create出来的控件,怎么捕获它的消息呢? VC中使用MSMQ异步接收消息 如果判断有MessageBox、Dialog窗口的存在?????? 计算校验和的算法。 delphi???====> vc++ 我想转行
调用API函数, WINSHELLAPI LPITEMIDLIST WINAPI SHBrowseForFolder(
LPBROWSEINFO lpbi);
其参数lpbi成员的意义为(参照下图)
hwndOwner : 父窗口的句柄.PidlRoot : 根目录.PszDisplayName : 用户选择的文件夹.lpszTitle : 标题ulFlags : 风格lpfn : 回调函数lParam : 回调函数的参数.
iImage : 用户选择的文件夹的图标.
ZeroMemory(&bInfo, sizeof(bInfo));
bInfo.hwndOwner = m_hWnd;
TCHAR tchPath[255];
bInfo.lpszTitle = _T("所选择路径: ");
bInfo.ulFlags = BIF_RETURNONLYFSDIRS;
LPITEMIDLIST lpDlist;
//用来保存返回信息的IDList,使用SHGetPathFromIDList函数转换为字符串
lpDlist = SHBrowseForFolder(&bInfo) ; //显示选择对话框
if(lpDlist != NULL)
{
SHGetPathFromIDList(lpDlist, tchPath);//把项目标识列表转化成目录
TRACE(tchPath);
}