Хорошо, поэтому один из способов сделать это - использовать значение, возвращаемое GetModuleHandle()
. Да, он возвращает HANDLE
, но вы можете привести его к соответствующему типу указателя. Сравните с диапазоном адресов модуля в окне «Модули» Visual Studio, и вы увидите, что он совпадает с начальным значением диапазона.
Лучший способ сделать это - использовать GetModuleInformation () . Первое поле структуры MODULEINFO , которое вы передадите, будет содержать базовый адрес DLL.
Хотя согласно документации MODULEINFO:
Адрес загрузки модуля совпадает со значением HMODULE.
Так что я думаю, что просто используйте HMODULE, и приведение в порядке. Думаю, все, что ты захочешь сделать.
Если вы хотите получить информацию об удаленном процессе, используйте EnumProcessModules () .