执行文件:
ShellExecute(NULL, _T("open"), _T("explorer"), _T("C:"), NULL, SW_SHOW);
打开文件:
CString filter=_T("文本文件(*.txt)|*.txt/0"),str1;
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,filter); //FALSE 另存为对话框
if(dlg.DoModal()==IDOK)
{
str1=dlg.GetPathName();
}
m_str=str1;
UpdateData(false);
打开文件夹:
BROWSEINFO bi; //BROWSEINFO结构体
TCHAR Buffer[512]=_T("");
TCHAR FullPath[512]=_T("");
bi.hwndOwner = m_hWnd; //m_hWnd你的程序主窗口
bi.pidlRoot = NULL;
bi.pszDisplayName = Buffer; //返回选择的目录名的缓冲区
bi.lpszTitle = _T("请选择保存的文件夹"); //弹出的窗口的文字提示
bi.ulFlags = BIF_RETURNONLYFSDIRS|BIF_EDITBOX|BIF_BROWSEFORCOMPUTER ; //只返回目录。其他标志看MSDN
bi.lpfn = NULL; //回调函数,有时很有用
bi.lParam = 0;
bi.iImage = 0;
ITEMIDLIST* pidl = ::SHBrowseForFolder (&bi); //显示弹出窗口,ITEMIDLIST很重要
if(::SHGetPathFromIDList (pidl,FullPath)) //在ITEMIDLIST中得到目录名的整个路径
{
//成功
m_string=FullPath;
}
else
{
//失败
MessageBox(_T("no selecte file path."));
}
UpdateData(false);