本文简单介绍下VC列表目录路径选择。
新建对话框应用程序,并且添加按钮
void CListPathSelectDlg::OnButton1()
{
char szDir[MAX_PATH];
memset(szDir,0,MAX_PATH);
ITEMIDLIST *pidl;
BROWSEINFO bw;//为选择对话框准备的浏览信息
bw.hwndOwner = NULL;
bw.pidlRoot = NULL;
bw.pszDisplayName = NULL;
bw.lpszTitle = "请选择路径";
bw.ulFlags = BIF_RETURNONLYFSDIRS;
bw.lpfn = NULL;
bw.lParam = 0;
bw.iImage = 0;
pidl = SHBrowseForFolder(&bw);//产生浏览信息对话框
if (NULL == pidl)
{
return;
}
if (!SHGetPathFromIDList(pidl,szDir))//转换列表中的选择到文件路径
{
return;
}
CString sTargetFullPath = "";
sTargetFullPath.Format("%s",szDir);//文件路径
if (sTargetFullPath.IsEmpty())
{
return;
}
sTargetFullPath = "当前程序路径为:" + sTargetFullPath;
MessageBox(sTargetFullPath);
}