载入中,请稍候……

Visual C++获取程序当前路径

Admin 于 2008-09-13 03:06:53 发表C/C++

订阅: http://www.miniboke.com/Feed/Article_26.aspx
引用: http://www.miniboke.com/Trackback/QokcCxyBrzbVqVXxNvxe.aspx (UTF-8)
在MFC或者C++中使用GDI+ < Visual C++获取程序当前路径 > SystemParametersInfo详说

1、

  1. GetCurrWorkingDir(){ 
  2.      CString strPath; 
  3.      GetCurrentDirectory(MAX_PATH,strPath.GetBuffer(MAX_PATH)); 
  4.      strPath.ReleaseBuffer(); 
  5.      return strPath; 

2、

  1. CString CPropertySampleApp::GetCurrWorkingDir() 
  2.   CString strPath; 
  3.   TCHAR szFull[_MAX_PATH]; 
  4.   TCHAR szDrive[_MAX_DRIVE]; 
  5.   TCHAR szDir[_MAX_DIR]; 
  6.   ::GetModuleFileName(NULL, szFull, sizeof(szFull)/sizeof(TCHAR)); 
  7.   _tsplitpath(szFull, szDrive, szDir, NULL, NULL); 
  8.   _tcscpy(szFull, szDrive); 
  9.   _tcscat(szFull, szDir); 
  10.   strPath = CString(szFull); 
  11.   return strPath; 

使用第一段代码可以获得应用程序运行时所在目录。但由于在使用Microsoft Visual Studio.NET编译并运行项目时,真正的宿主是IDE,所以当前目录是项目所在目录,并不是DEBUG或者RELEASE目录,这一点需要注意。而第二段代码可以动态解决此问题。并且增加了Unicode支持(TCHAR)。

被阅496次, 0投一票VC++
  • 看完了要说点啥么?
  • 昵称 (不填说不了话)
  • 信箱地址 (不会被公开,但是不填也说不了话)
  • 网址 (这个不填也成)

Powered by MiniBoke v2.0.0.8 Build 0828

Copyright © 2008 迷你博客. All rights reserved.

粤ICP备07500939号