MFC文件夹打开的操作

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();

  1. TRACE("\n&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n");
  2. TRACE(m_FileDir);
  3. TRACE("\n&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n");

你可能感兴趣的:(MFC文件夹打开的操作)