方式1:
void GetPath()
{
wchar_t *szDefaultDir = L"C:\\WINDOWS\\";
wchar_t szPath[MAX_PATH] = {0};
std::wstring strSelDir = L"";
BROWSEINFO brInfo;
ITEMIDLIST *pItem;
brInfo.hwndOwner = m_pDlg->GetSafeHwnd();// 窗口句柄
brInfo.pidlRoot = 0;
brInfo.pszDisplayName = 0;
brInfo.lpszTitle = L"选择路径"; //
brInfo.ulFlags = 0;
brInfo.lpfn = NULL;
brInfo.iImage = 0;
brInfo.lParam = long(szDefaultDir);
pItem = SHBrowseForFolder(&brInfo);
if(pItem != NULL)
{
if(SHGetPathFromIDList(pItem, szPath))
{
printf("szPath: %S\n", szPath);
}
}
}
void GetPath()
{
wchar_t szFilter[MAX_PATH] = L"安装文件(*.txt)|*.txt|所有文件(*.*)|*.*||";
CFileDialog filedlg(TRUE, L"txt", NULL, 0, szFilter, m_pDlg);
CString strfilePath = L"";
if(IDOK == filedlg.DoModal())
{
strfilePath = filedlg.GetPathName();
}
}