Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

В каком модуле содержится 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]

Ни в каком. Ни в какой, кроме собственноручно разработанной.


Наверх

Титульная страница Поиск, карта сайта Написать письмо