您的位置:首页 > 其它

如何让SHBrowseForFolder弹出指定的目录

2008-12-16 19:48 501 查看
BOOL CDel_DlgDlg::BrowseDirectory(HWND hwnd, LPSTR lpszDir, DWORD dwLen)
{
lstrcpyn(gszRootDir, lpszDir, sizeof(gszRootDir)) ;

BROWSEINFO bi;
bi.hwndOwner=hwnd;
bi.pidlRoot=0;
bi.pszDisplayName=0;
bi.lpszTitle="Browse Folder";
bi.lpfn=BrowseCallbackProc;
bi.lParam=0;
bi.ulFlags= BIF_STATUSTEXT | BIF_RETURNONLYFSDIRS;

LPITEMIDLIST pidl ;
if(pidl = SHBrowseForFolder(&bi))
{
SHGetPathFromIDList(pidl, lpszDir);
return TRUE ;
}
return FALSE ;
}

int CALLBACK BrowseCallbackProc(HWND hwnd, UINT msg, LPARAM lp, LPARAM pData)
{
if (msg == BFFM_INITIALIZED )
{
::SendMessage(hwnd,BFFM_SETSELECTION,TRUE,(LPARAM)gszRootDir);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: