首页 > 代码库 > VC++获取可执行文件当前目录

VC++获取可执行文件当前目录

 

char lpszCurrentPath[MAX_PATH] ; //MAX_PATH是Win32定义的一个宏,表示Windows允许的最大路径255;GetCurrentDirectory(MAX_PATH , lpszCurrentPath );

 

  

  GetCurrentDirectory可以获取程序当前运行的目录,而不是当前可执行文件的目录。我在网上阅读别人的博客是,时常看到有人写这个函数可以获取当前着执行文件的目录,想想实在误导别人啊。当然这个函数的名字也很具有迷惑性。

  获取当前可执行文件的是另外一个函数:GetModuleFileName;

  

    char ModuleFileName[_MAX_PATH];    GetModuleFileName(NULL , ModuleFileName , _MAX_PATH );    char ExePath[_MAX_DIR];           //当前文件夹    char ExtName[_MAX_EXT];           //文件后缀    char ExeFName[_MAX_FNAME];        //文件名    char ExeDiver[_MAX_DRIVE];        //文件驱动器,如C:    _splitpath(ModuleFileName , ExeDiver , ExePath , ExeFName, ExtName );

   _splitpath绝对是个好东西,在我不知道这个函数之前,居然手动把GetModuleFileName得到的文件路径名分解开来,想想真是伤心啊。

 

VC++获取可执行文件当前目录