您的位置:首页 > 编程语言 > C语言/C++

vc++打开文件夹时,指定初始路径

2011-06-21 17:04 267 查看
//回调函数
int CALLBACK BrowseCallbackProc(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData)
{
if  (uMsg == BFFM_INITIALIZED )
{
::SendMessage(hwnd,BFFM_SETSELECTION,TRUE,lpData);
}
return 0;
}
//button对应的函数
void CEncryptDlg::OnButtonSBrownEn()
{
LPITEMIDLIST pidlRoot = NULL;
CString curPath(_T("F://long"));
BROWSEINFO bi;
char buffer[MAX_PATH];
ZeroMemory(buffer,MAX_PATH);
bi.hwndOwner = GetSafeHwnd();
bi.pidlRoot = pidlRoot;
bi.pszDisplayName = NULL;
bi.lpszTitle = _T("选择一个文件夹");
bi.ulFlags = BIF_EDITBOX;
bi.lpfn = BrowseCallbackProc;
bi.lParam = (LPARAM)curPath.GetBuffer(MAX_PATH);
bi.iImage = 0;
LPITEMIDLIST pList = NULL;
if ((pList = SHBrowseForFolder(&bi))!=NULL)
{
TCHAR path[MAX_PATH];
ZeroMemory(path,MAX_PATH);
SHGetPathFromIDList(pList,path);
mSFoldName = path;
GetDlgItem(IDC_EDIT_SFOLD)->SetWindowText(mSFoldName);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: