WIN32、c++取程序当前执行目录路径,shlwapi常用路径函数

来源:赵克立博客 分类: Win32 标签:C/C++Win32ApiWin32发布时间:2017-09-14 15:11:04最后更新:2018-03-28 11:22:25浏览:2942
版权声明:
本文为博主原创文章,转载请声明原文链接...谢谢。o_0。
更新时间:
2018-03-28 11:22:25
温馨提示:
学无止境,技术类文章有它的时效性,请留意文章更新时间,如发现内容有误请留言指出,防止别人"踩坑",我会及时更新文章

取当前执行程序的根目录

#include "shlwapi.h"
#pragma comment(lib,"shlwapi.lib")
TCHAR curDirPath[MAX_PATH];
//取当前执行模块的全路径,如果此模块是被其它程序调用的,返回的路径还是这个程序的路径
::GetModuleFileName(NULL, curDirPath,MAX_PATH);
//从路径中移除文件名
PathRemoveFileSpec(curDirPath);

curDirPath的值为  E:\\eng\\Yeng\\bin   这样的目录路径

另一种方法取当前进程所在目录(路径跟上面一样的格式)跟上面不一样的情况是,比如当前有一个主线程调用啦一个exe文件,这个exe文件中使用GetCurrentDirectory取到的是主线程的EXE路径,而不是自己的路径

#include "windows.h"
TCHAR strBuff[256];
GetCurrentDirectory(256, strBuff);

取路径中的文件名(带扩展名)

TCHAR curDirPath[MAX_PATH];
//取当前可执行文件的全路径
::GetModuleFileName(NULL, curDirPath,MAX_PATH);
TCHAR* fname=::PathFindFileName(szFileName);//取文件名

另外此头文件中还有很多常用的函数下面是一些跟路径相关的函数

PathAddBackslash        //路径后添加反斜杆 CString.GetBuffer(_MAX_PATH)

PathAddExtension        //添加扩展名

PathAppend              //附加路径

PathBuildRoot

PathCanonicalize

PathCombine

PathCompactPath

PathCompactPathEx

PathCommonPrefix

PathFileExists    //路径或文件是否存在

PathFindExtension  //取路径中的扩展名

PathFindFileName //取路径中的文件名

PathFindNextComponent

PathFindOnPath

PathGetArgs

PathGetCharType

PathGetDriveNumber

PathIsDirectory

PathIsFileSpec

PathIsPrefix

PathIsRelative

PathIsRoot

PathIsSameRoot

PathIsUNC

PathIsUNCServer

PathIsUNCServerShare

PathIsContentType

PathIsHTMLFile

PathIsURL

PathMakePretty

PathMatchSpec

PathParseIconLocation

PathQuoteSpaces

PathRelativePathTo

PathRemoveArgs

PathRemoveBackslash

PathRemoveBlanks

PathRemoveExtension 移除路径中的扩展名

PathRemoveFileSpec 移除路径中的文件名

PathRenameExtension 重命名路径中的扩展名

PathSearchAndQualify

PathSetDlgItemPath

PathSkipRoot

PathStripPath

PathStripToRoot

PathUnquoteSpaces

PathMakeSystemFolder

PathUnmakeSystemFolder

PathIsSystemFolder



微信号:kelicom QQ群:215861553 紧急求助须知
Win32/PHP/JS/Android/Python