GetModuleHandle из внутреннего .dll - PullRequest
1 голос
/ 26 марта 2011

Я хочу получить базовый адрес из одного модуля, я пробовал использовать GetModuleHandleEx и работает! но я могу просто получить базовый адрес из модулей: kernel32.dll и user32.dll и т. д.

Мне действительно нужно получить базовый адрес одного из модулей, в котором есть другой процесс, то есть получить базовый адрес из модуля "notepad.exe". Я не знаю, хорошо ли я объяснил, надеюсь, да.

С наилучшими пожеланиями;

Ответы [ 3 ]

4 голосов
/ 26 марта 2011

Функция GetModuleHandleEx извлекает дескриптор для загруженных модулей вашего приложения, kernel32.dll и user32.dll всегда присутствуют в вашем приложении.потому что эта работа хорошо для этой библиотеки.

из MSDN:

GetModuleHandleEx Извлекает дескриптор модуля для указанного модуля и увеличивает счетчик ссылок модуля, если не указано GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT. Модуль должен быть загружен процессом вызова.

Пожалуйста, сделайте ваш вопрос более понятным, чтобы помочь вам.

0 голосов
/ 26 марта 2011

Вам просто нужно позвонить EnumProcessModules().

0 голосов
/ 26 марта 2011

Если вам когда-либо понадобится инспектировать другие процессы, вам следует использовать либо dbghelp, либо toolhelp32, в этом случае лучше всего использовать toolhelp32, используя EnumProcessModules, у msdn есть хороший пример его использования: http://msdn.microsoft.com/en-us/library/ms682621(v=vs.85).aspx

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