您的位置:首页 > 其它

创建文件夹,选择路径

2016-05-27 10:31 323 查看
在网上看到很多关于创建文件夹和保存文件的,但是没有组合到一起的。虽然比较简单,还是搞了几天,不过总算搞定了。现将代码贴上:

void CMainFrame::OnCre()  //创建文件夹

{
// TODO: Add your command handler code here
BROWSEINFO bi;
char szPathName[MAX_PATH];
char szTitle[] = "选择路径";
ZeroMemory(&bi, sizeof(BROWSEINFO));

bi.hwndOwner = GetSafeHwnd();
bi.pszDisplayName = szPathName;
bi.lpszTitle = szTitle;
bi.ulFlags = 0x0040 ; 
CString str;
CString strDir;  //选择的目录

LPITEMIDLIST idl = SHBrowseForFolder(&bi);
if(idl == NULL)
{
strDir= "";
return;
}

SHGetPathFromIDList(idl, str.GetBuffer(MAX_PATH * 2));
str.ReleaseBuffer();

BOOL bRet = CreateDirectory(str + _T("\\") + "test_test", NULL);//创建文件夹

m_strPath = str + _T("\\test_test"); //将路径设置到新建的文件夹下

AfxMessageBox(m_strPath);  //弹出消息框显示路径

}

void CMainFrame::OnFileSave() //保存到文件夹下

{
// TODO: Add your command handler code here
const char pszFilter[] = _T("EXE Files (*.txt)|*.txt||");
CFileDialog dlgSave( FALSE,   //FALSE为保存
_T(".txt"), //自动加上的扩展名
_T("Output.txt"),  //默认保存的文件名
OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,pszFilter, this);

      dlgSave.m_ofn.lpstrInitialDir = m_strPath ;  //不管你的文件夹创建在那个位置,保存对话框的路径就在那个位置。

 dlgSave.DoModal();

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: