Windows API函数::GetModuleFileName的主要作用是获取当前应用程序的路径,其用法大致如下:
extern CWinApp theApp;
char szAppName[MAX_PATH];
:: GetModuleFileName(theApp.m_hinstance, szAppName, MAX_PATH);
这样字符数组szAppName就保存了当前应用程序的全路径。现在发现它的一个妙用是可以通过它获取应用程序的一些辅助文件路径,如参数文件所在的路径、临时文件所在路径,只要设置这些路径和应用程序路径存在相对关系。比如现在exe文件所在的OutD文件夹和Temp文件是在同一级目录下,那么就可以这样获取Temp文件夹的路径:
extern CWinApp theApp;
char szAppName[MAX_PATH];
:: GetModuleFileName(theApp.m_hinstance, szAppName, MAX_PATH);
CString strAppFullName;
strAppFullName.Format(“%s”, szAppName);
CString strTempPath = _T(“”);
strTempPath = strAppFullName.Left(strAppFullName.ReverseFind(‘//’)+1)+_T(“Temp”);