当前位置:编程学习 > VC++ >>

设置进程路径为启动路径

 

VC有个让新手抓狂的地方, 把工程路径作为调试模式时的进程当前目录.

估计很多新手因为打不开文件而耗费大量的时间,甚至放弃

 

以前使用纯Windows方式解决这种问题:

 

   1:  #include <Shlwapi.h>

   2:  #include <shlobj.h>

   3:  

   4:  #pragma comment(lib,"shlwapi.lib")

   5:  

   6:  wchar_t exename[MAX_PATH];

   7:  ::GetModuleFileName(NULL,exename,MAX_PATH);

   8:  ::PathRemoveFileSpec( exename );

   9:  ::SetCurrentDirectory( exename );

 

需要跨平台时,可以这样写:

 

   1:  #include <direct.h>

   2:  #include <boost/filesystem.hpp>

   3:  

   4:  int main(int argc, char* argv[])

   5:  {   

   6:      _chdir( boost::filesystem::path( argv[0] ).remove_filename().string().c_str() );       

   7:  }

 

     被Windows惯坏了, 到处找Linux或者boost版本的GetModuleFileName, 结果忘记了当年c语言课上教的命令行传入参数...  

摘自 战魂小筑

补充:软件开发 , Vc ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,