Как получить базовый адрес процесса?

95
12 марта 2021, 22:20

Как можно получить базовый адрес процесса ?Никаких работающих примеров так и не нашел. Вот мой код

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));
    }
READ ALSO
API NotifyIcon WinAPI, не отображается сообщение

API NotifyIcon WinAPI, не отображается сообщение

Я использую API NotifyIcon для показа сообщений (Baloon или уведомления в Win 10)Дело в том, что сообщение упорно не показывается на экран

100
Необработанное исключение по адресу 0x000000013F6B212B в FinalHope.exe: 0xC0000005: нарушение прав доступа при записи по адресу 0x00000000001C6000

Необработанное исключение по адресу 0x000000013F6B212B в FinalHope.exe: 0xC0000005: нарушение прав доступа при записи по адресу 0x00000000001C6000

Я использую memcpy для того чтобы скопировать в bytebuffer информацию из массиваВот простой код:

116
Как можно добавить функцию класса в LuaBridge

Как можно добавить функцию класса в LuaBridge

В функции инициализации функций для луа в моем классе, я бы хотел реализовать регистрацию функции из самого класса и что бы она выполнялась...

122
как сделать свой тип в c++?

как сделать свой тип в c++?

Например я могу сделать в структуре или в классе вот так

84