您的位置:首页 > 其它

打开文件对话框,多选与单选,检测文件是否存在

2010-06-22 22:15 330 查看
单选文件,

char szCurrentWorkPath[256] = {0};
GetCurrentDirectory(256, szCurrentWorkPath);
CFileDialog dlg(TRUE);
CString cszFileFullName;
CString cszFileName;
if (dlg.DoModal() == IDOK)
{
cszFileName = dlg.GetFileName();
cszFileFullName = dlg.GetPathName();
}
else
{
return ;
}

SetCurrentDirectory(szCurrentWorkPath);


多选文件 并带过滤器

void CAutomateSignDlg::OnFileAddguradfiles()
{
// TODO: Add your command handler code here
char szCurrentWorkPath[256] = {0};
GetCurrentDirectory(256, szCurrentWorkPath);
CFileDialog dlg(TRUE,NULL,NULL, OFN_HIDEREADONLY| OFN_OVERWRITEPROMPT | OFN_ALLOWMULTISELECT, "Guard file or Zip file (*.grd;*.zip)|*.grd;*.zip|all Files (*.*)|*.*||");
if (IDOK == dlg.DoModal())
{
POSITION   pos;
for(pos=dlg.GetStartPosition();pos;)
{
CString   str;
str=dlg.GetNextPathName(pos);
m_ListBoxGuradFiles.AddString(str);    //得到每个文件的路径
}
UpdateData(FALSE);
}

SetCurrentDirectory(szCurrentWorkPath);
}


目录是否存在的检查:

BOOL   FolderExist(CString strPath)
{
WIN32_FIND_DATA   wfd;
BOOL rValue = FALSE;
HANDLE hFind = FindFirstFile(strPath, &wfd);
if ((hFind != INVALID_HANDLE_VALUE) && (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
{
rValue = TRUE;
}
FindClose(hFind);
return rValule;
}


文件存在性检查:

BOOL   FileExist(CString strFileName)
{
CFileFind fFind;
return fFind.FindFile(strFileName);
}


创建目录:

BOOL CreateFolder(CString strPath)
{
SECURITY_ATTRIBUTES attrib;
attrib.bInheritHandle = FALSE;
attrib.lpSecurityDescriptor = NULL;
attrib.nLength =sizeof(SECURITY_ATTRIBUTES);
//上面定义的属性可以省略。 直接return ::CreateDirectory( path, NULL); 即可
return ::CreateDirectory( strPath, &attrib);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: