Как получить список модулей 64-битного процесса из 32-битной программы?
Всех с наступившим Новым Годом!
В своей программе мне нужно получить список модулей загруженных в любой другой процесс.
Сама программа 32-битная. Для получения списка модулей использую функцию EnumProcessModulesEx().
Для 64-битных процессов список модулей она не возвращает.
Пока я думаю сделать отдельный 64-битный процесс и через него обмениваться данными. Написать функцию-обертку, которая будет отсылать запрос в этот процесс, наподобие "получить список модулей такого-то процесса", а затем пересылать результат в мою программу.
Ещё вариант - COM Surrogate, но ничего толком не нашёл.
Подскажите, пожалуйста, какие есть ещё варианты? Либо, может есть простой вариант, без этих заморочек.
P.S. Вариант скомпилировать программу под 64 бита не предлагать).
sha-man, EnumProcessModulesEx пишет массив HMODULE, который есть HINSTANCE, который вообще HANDLE, который на самом деле void*. Является базовым адресом ("указателем на начало") модуля в адресном пространстве процесса.