Module32First () возвращает FALSE - PullRequest
0 голосов
/ 06 июля 2019

Module32First(..., ...) всегда возвращает FALSE

Я нашел в CheatEngine StaticAddress HP, и чтобы получить HP в программе c ++, мне нужно получить базовый адрес игры."PathOfExile_x64Steam.exe"+01DE7AC8.

    DWORD dwModuleBaseAddress = 0;
    HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, pID);
    MODULEENTRY32 ModuleEntry32 = { 0 };
    ModuleEntry32.dwSize = sizeof(MODULEENTRY32);

    if (Module32First(hSnapshot, &ModuleEntry32))
    {
       ...
    }
}

Эта функция должна возвращать базовый адрес, я нашел его здесь: https://pastebin.com/BF1ESSgz В этом коде я изменил имя модуля на "PathOfExile_x64Steam.exe" и имя окна на "Path of Exile".Идентификатор приложения найден успешным, потому что я могу читать HP, используя динамический адрес.И я решил, что я написал неправильное название модуля.Я также пытался найти адреса некоторых .dll, используемых в процессе Path of Exile, но это также не работает.Но он всегда возвращает 0 из-за первого if (...);Я плохо знаю, как работать с этим API, и я просто хочу знать, почему он не может работать и как это исправить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...