Chinaunix首页 | 论坛 | 博客
  • 博客访问: 501032
  • 博文数量: 60
  • 博客积分: 2673
  • 博客等级: 少校
  • 技术积分: 700
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-09 00:25
个人简介

目前主要从事C++软件开发

文章分类

全部博文(60)

文章存档

2013年(3)

2012年(3)

2010年(6)

2009年(23)

2008年(25)

我的朋友

分类: C/C++

2012-07-11 17:18:17

1.方法1

 


点击(此处)折叠或打开

  1. char pBuf[MAX_PATH]; //存放路径的变量
  2.    GetCurrentDirectory(MAX_PATH,pBuf); //获取程序的当前目录
  3.    strcat(pBuf,"\\");
  4.    strcat(pBuf,AfxGetApp()->m_pszExeName);
  5.    strcat(pBuf,".exe"); //获取程序的全文件名

2.方法2

   //函数返回应用程序所在的路径  


点击(此处)折叠或打开

  1. CString CClientApp::ReturnPath()

  2.    {
  3.    CString sPath;
  4.    GetModuleFileName(NULL,sPath.GetBufferSetLength(MAX_PATH+1),MAX_PATH);
  5.    sPath.ReleaseBuffer ();
  6.    int nPos;
  7.    nPos=sPath.ReverseFind('\\');
  8.    sPath=sPath.Left(nPos);
  9.    return sPath;
  10.    }
  11. //自己加工一个 函数 
  12. CString GetExePath(bool bHasSlash)
  13. {
  14. TCHAR szBuf[MAX_PATH];
  15. GetModuleFileName(NULL,szBuf,MAX_PATH);

  16. CString strPath(szBuf);
  17. int idx = strPath.ReverseFind(_T('\\'));
  18. strPath = strPath.Left(idx);

  19. if(bHasSlash){ // has '\' at last.
  20. if(strPath.Right(1)!=_T('\\'))
  21. strPath+=_T('\\');
  22. return strPath;
  23. }else{ // don't need '\'.
  24. if(strPath.Right(1)==_T('\\'))
  25. strPath.TrimRight(_T('\\'));
  26. return strPath;
  27. }
  28. }

 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

CFileDialog dlg(TRUE) 

CFileDialog dlg(TRUE);//<-这里用TRUE与FALSE有什么不同?

     // TRUE是“打开”对话框 
     // FALSE是“另存为”对话框

点击(此处)折叠或打开

  1. int ret=dlg.DoModal();
  2. if(ret==IDOK)
  3. {
  4. CString pathname=dlg.GetPathName(); //得到文件所在路径+文件名
  5. CString filename=dlg.GetFileName(); //得到文件名
  6. char tbuf[120];
  7. sprintf(tbuf,"The %s file in %s is saved!",filename,pathname);
  8. AfxMessageBox(tbuf);

  9. }

阅读(1270) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~