GetModuleFileName()获取的字符串中带波浪线,不是完整的路径显示。
原因:获取的是短路径,进行了缩写
解决:还原长路径
TCHAR strLongPath[MAX_PATH] = { 0 }; GetLongPathName( strTempPath, strLongPath, sizeof(strLongPath)/sizeof(TCHAR) );
其中,strTempPath是带波浪线的短路径,strLongPath为得到的长路径。
主要使用了Win32 API函数GetLongPathName,对应地,获取短路径可以使用GetShortPathName。