Нужно получить базовый адрес процесса, нашёл пример кода но он и подобные ему выдают вот такую ошибку в чём может быть дело? Скрин ошибки https://imgur.com/P0lTSp4
DWORD GetModuleBase(HANDLE hProc)
{
LPWSTR sModuleName = 0;
LPWSTR szBuf = 0;
DWORD cModules;
DWORD dwBase = -1;
HMODULE* hModules = NULL;
EnumProcessModules(hProc, hModules, 0, &cModules);
hModules = new HMODULE[cModules / sizeof(HMODULE)]; // <--- Ошибка!!!!!
if (EnumProcessModules(hProc, hModules, cModules / sizeof(HMODULE), &cModules))
{
for (int i = 0; i < cModules / sizeof(HMODULE); i++)
{
if (GetModuleBaseName(hProc, hModules[i], (LPSTR)szBuf, sizeof(szBuf)))
{
if (wcscmp(sModuleName, szBuf) == 0)
{
dwBase = (DWORD)hModules[i];
break;
}
}
}
}
delete[] hModules;
return dwBase;
}
Сборка персонального компьютера от Artline: умный выбор для современных пользователей