安全的打开文件对话框

来源:互联网 发布:node.js 做信息系统 编辑:程序博客网 时间:2024/05/21 15:23

运行打开文件对话框后会改变应用程序当前路径,如果使用相对路径访问当前应用程序目录下的数据库或者子文件夹就可能会出现错误,使用下面的函数可以避免此错误,函数很简单。

 

BOOL GetUserDefineFilePathName(CString & srcFileName)
{

 TCHAR path[MAX_PATH];
 memset(path,0,sizeof(path));
 if(0==GetCurrentDirectory(MAX_PATH,path))
  return FALSE;
 
 CFileDialog DlgFileOpen(TRUE,"*.rar",NULL,OFN_HIDEREADONLY   |   OFN_OVERWRITEPROMPT,  
  "rar files(*.rar)|*.rar|All files(*.*)|*.*||");
 DlgFileOpen.m_ofn.lpstrInitialDir="c://";   ;
 if(DlgFileOpen.DoModal()==IDOK)
 {
  srcFileName= DlgFileOpen.GetPathName();
  
 }
 else
  srcFileName= CString();

 if(!SetCurrentDirectory(path))
  return FALSE;

 if (srcFileName.IsEmpty())
 {
  return FALSE;
 }
 else
 {
  return TRUE;
 }
 

}

原创粉丝点击