Как мне это исправить? Hproc не объявлен в этой области?
#include <iostream> #include <windows.h> #include "psapi.h" using namespace std; DWORD GetModuleBase(HANDLE hProc, string &sModuleName) { HMODULE *hModules; char szBuf[50]; DWORD cModules; DWORD dwBase = -1; //------ 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], szBuf, sizeof(szBuf))) { if(sModuleName.compare(szBuf) == 0) { dwBase = (DWORD)hModules[i]; break; } } } } delete[] hModules; return dwBase; } int main() { ---------------->>>>GetModuleBase(hProc, string("winmine.exe")); }
Что я уже пробовал:
#include <iostream> #include <windows.h> #include "psapi.h" using namespace std; DWORD GetModuleBase(HANDLE hProc, string &sModuleName) { HMODULE *hModules; char szBuf[50]; DWORD cModules; DWORD dwBase = -1; //------ 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], szBuf, sizeof(szBuf))) { if(sModuleName.compare(szBuf) == 0) { dwBase = (DWORD)hModules[i]; break; } } } } delete[] hModules; return dwBase; } int main() { -------------->>>>GetModuleBase(hProc, string("winmine.exe")); }