一、获取可执行程序.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

本文介绍了C++中获取可执行程序.exe的完整路径、DLL文件的地址以及如何获取指定文件夹下具有特定后缀的文件名和路径。GetModuleFileName用于获取exe路径,GetModuleHandle用于获取DLL路径,而遍历文件夹则能找出特定后缀的文件。
最低0.47元/天 解锁文章

2764

被折叠的 条评论
为什么被折叠?



