VC++ 默认打开上次打开的文件夹

来源:百度知道 编辑:UC知道 时间:2024/06/30 19:43:11
请问要怎么才能默认打开上次已经打开过的文件夹啊?似乎不管怎么改回调函数都没办法像千千静听那样子打开文件夹的时候默认为上次已经打开过的文件夹,并定位在这个位置啊??各位有什么好办法吗??最好根据我下面的程序修改回调函数,多谢你们啦!!共勉!!!
CString CImageIdenView::GetFolderPath()
{
CString strPath ;
BROWSEINFO bInfo;
ZeroMemory(&bInfo, sizeof(bInfo));
bInfo.hwndOwner = m_hWnd;
bInfo.pidlRoot = 0;//GetIDListFromPath(strPath);
bInfo.lpszTitle = _T("请选择文件夹: ");
bInfo.ulFlags = BIF_RETURNONLYFSDIRS | BIF_STATUSTEXT ;//| BIF_EDITBOX;
bInfo.lpfn = BrowseCallbackProc;

LPITEMIDLIST lpDlist; //用来保存返回信息的IDList

lpDlist = SHBrowseForFolder(&bInfo) ; //显示选择对话框
if(lpDlist != NULL) //用户按了确定按钮
{
TCHAR chPath[255]; //用来存储路径的字符串
SHGetPathFromIDList(lpDlist, chPath);//把项目标识列表转化成字符串
strPath = chPath; //将TCHAR类型的字符串转换为CString类型的字符串
}
else
{
AfxMessageBox("未选择文件夹");
}

return strPath;
}
static char szdir[MAX_PATH];
INT CALLBACK

1L是亮点

如果想在程序关闭后还保留信息,那他一定是将信息保存在外存上了,记住程序运行所有数据都在内存,关闭后就都销毁了,你必须把这个目录保存在外存(可以是配置文件可以是注册表甚至是数据库),然后下次运行的时候再读出来。
另外说一句,亮点在一楼。