Вариантов несколько... Самый простой: А это для извращенцев - через GetCurrentProcessId. Далее перечисляем список процессов через ТулХелп. сопоставляем Ид и ИмаджБейз.
Для таких страшных вопросов есть секретная инструкция Код (Text): mov eax, fs:[30h] , или на крайняк в NT - Код (Text): ZwQueryInformationProcess(...,ProcessBasicInformation,...,...,....)
Gonzzik Самый простой и самых правильный - GetModuleHandle(NULL) - как известно когда функция вызывается даже из DLL, она получает базовый адрес не DLL, а EXE куда она загружается. Ну все это написано в MSDN: If this parameter is NULL, GetModuleHandle returns a handle to the file used to create the calling process.
FreeManCPM хм imho,если в коде длл бут ченить типа Код (Text): call @F @@: pop eax invoke ScanForPEHeader, eax должно сработать =))))