在DLL中如何取得自己的路径?
ab 2000-08-17 02:06:00 下面一段虽然可以得到,可是在NT4不能运行,有没有别的实现方法?
m_sPath.Empty();
HANDLE hModuleSnap = NULL;
MODULEENTRY32 me32 = {0};
hModuleSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, 0);
if (hModuleSnap == (HANDLE)-1) return ;
BOOL bFound = FALSE;
me32.dwSize = sizeof(MODULEENTRY32);
if (Module32First(hModuleSnap, &me32)) {
do {
if (!_tcsicmp(me32.szModule, _T("abisa.dll"))) {
m_sPath = me32.szExePath;
int nPlace = m_sPath.ReverseFind(_T('\\'));
if (nPlace != -1) {
m_sPath = m_sPath.Left(nPlace + 1);
bFound = TRUE;
}
}
} while (!bFound && Module32Next(hModuleSnap, &me32));
}
CloseHandle(hModuleSnap);