Как можно получить базовый адрес процесса ?Никаких работающих примеров так и не нашел. Вот мой код
HWND hwnd;
do {
hwnd = FindWindowA(0,"Form1");
Sleep(50);
} while (!hwnd);
DWORD pid;
GetWindowThreadProcessId(hwnd, &pid);
HANDLE process = OpenProcess(PROCESS_ALL_ACCESS,FALSE,pid);
Вызов функции
DWORD clientBase = getModuleBaseAddress(pid, "Form1.exe");
Функция
DWORD getModuleBaseAddress(DWORD pid, const char* name)
{
HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, pid);
MODULEENTRY32 mEntry;
mEntry.dwSize = sizeof(MODULEENTRY32);
do
{
if (!strcmp(mEntry.szModule, name))
{
CloseHandle(snapshot);
return (DWORD)mEntry.modBaseAddr;
}
} while (Module32Next(snapshot, &mEntry));
}
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники