![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
В каком модуле содержится GetModuleBase? [WinXP]
kalexi © (2010-01-30 14:42:00)Или как его объявить? В какой длл?
grisme (2010-01-31 08:24:00) [1]фактически, да. только тут, в sModuleName можно передать название конкретной DLL или EXE.
Игорь Шевченко (2010-01-30 23:12:00) [2]grisme © (30.01.10 22:23) [3]
Это дельфийское FindHInstance ? :)
grisme (2010-01-30 22:23:00) [3]
DWORD GetModuleBase(HANDLE hProc, string &sModuleName)
{
HMODULE *hModules;
char szBuf[50];
DWORD cModules;
DWORD dwBase = -1;
//------
EnumProcessModules(hProc, hModules, 0, &cModules);
hModules = new HMODULE[cModules/sizeof(HMODULE)];
if(EnumProcessModules(hProc, hModules, cModules/sizeof(HMODULE), &cModules)) {
for(int i = 0; i < cModules/sizeof(HMODULE); i++) {
if(GetModuleBaseName(hProc, hModules[i], szBuf, sizeof(szBuf))) {
if(sModuleName.compare(szBuf) == 0) {
dwBase = (DWORD)hModules[i];
break;
}
}
}
}
delete[] hModules;
return dwBase;
}
kalexi (2010-01-30 20:06:00) [4]Хорошо, а где листинг ее можно посмотреть?
Сергей М. (2010-01-30 16:32:00) [5]Ни в каком. Ни в какой, кроме собственноручно разработанной.