MFC文件夹打开的操作

Posted 柳安花明

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC文件夹打开的操作相关的知识,希望对你有一定的参考价值。

转自:http://wenku.baidu.com/link?url=E3GqYXODm0S3YQxbiImGg1nJeE1ovn396lU-5jdMbOUUyKdv6I8W31zXbaWBmR5W4iBfbJVE7lDDvdjP_jmwOWNUZqz_w6o3uYrqZ29uiym

1.打开文件夹,不做任何选择,只是打开

ShellExecute(NULL, _T("open"), _T("d:\\"), NULL, NULL, SW_SHOW); 

2.打开文件夹,选择所选文件夹里面的文件名,格式文件,获取格式文件路径或者格式文件名 CFileDialog dlg(TRUE,NULL,NULL,NULL,NULL); if(dlg.DoModal()==IDOK)// { CString str,str1; str = dlg.GetPathName(); str1 = dlg.GetFileName(); CEdit* cfolder; cfolder = (CEdit*) GetDlgItem(flidersdit); cfolder->SetWindowText(str); // + 1 } 效果图 CFileDialog dlg(TRUE,NULL,NULL,NULL,NULL); if(dlg.DoModal()==IDOK)// { CString str,str1; str = dlg.GetPathName(); str1 = dlg.GetFileName(); CEdit* cfolder; cfolder = (CEdit*) GetDlgItem(flidersdit); cfolder->SetWindowText(str1); // + 1 } 效果图

3,打开文件夹,选择所选择的文件夹,获取文件夹的路径 CString m_FileDir; BROWSEINFO bi; ZeroMemory(&bi, sizeof(BROWSEINFO)); bi.hwndOwner = m_hWnd; bi.ulFlags = BIF_RETURNONLYFSDIRS; LPITEMIDLIST pidl = SHBrowseForFolder(&bi); BOOL bRet = FALSE; TCHAR szFolder[MAX_PATH*2]; szFolder[0] = _T(‘\0‘); if (pidl) { if (SHGetPathFromIDList(pidl, szFolder)) bRet = TRUE; IMalloc *pMalloc = NULL; if (SUCCEEDED(SHGetMalloc(&pMalloc)) && pMalloc) { pMalloc->Free(pidl); pMalloc->Release(); } } m_FileDir = szFolder;//选择的文件夹路径 CEdit* cfolder; cfolder = (CEdit*) GetDlgItem(flidersdit); cfolder->SetWindowText(szFolder); OnPaint(); TRACE("\n&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n"); TRACE(m_FileDir); TRACE("\n&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n")

以上是关于MFC文件夹打开的操作的主要内容,如果未能解决你的问题,请参考以下文章

MFC (如何通过点击botton打开一个文件夹/文件)

mfc如何使用多线程搜索文件夹?

使用MFC操作EXCEL文件

怎么解决dll缺失的问题?

c/c++,mfc:不将打开的文件/句柄传递给生成的进程

MFC文件的读写操作,类的序列化与反序列化,CFile,CFileDialog,CArchive,CStdioFile