一、获取可执行程序.exe的地址
GetModuleFileName() 函数返回当前进程已加载可执行文件或DLL文件的完整路径名(以'\0'终止),该模块必须由当前进程地址空间加载。
该函数原型:
DWORD WINAPI GetModuleFileName(
_In_opt_ HMODULE hModule, //应用程序或DLL实例句柄,NULL则为获取当前程序可执行文件路径名
_Out_ LPTSTR lpFilename, //接收路径的字符串缓冲区,内存指针
_In_ DWORD nSize //接收路径的字符缓冲区的大小
);
获取程序可执行文件路径名的函数,依据输入字符串的类型,有如下2种定义:
void GetModuleFilePath(CString &strPath)
{
strPath.Empty();
TCHAR szCurPath[MAX_PATH];
int nPathLen = GetModuleFileName(NULL, szCurPath, MAX_PATH);
strPath = szCurPath;
int nPos = strPath.ReverseFind(_T('\\'));
if(nPos != -1)
strPath = strPath.Left(nPos + 1);
}
void GetModuleFilePath(string &strPath)
{
strPath.erase();
TCHAR szCurPath[MAX_PATH] = { 0 };
int nPathLen = GetModuleFile