Speicheradresse aus Registry lesen und mit ReadProcessMemory verwenden scheitert
-
HKEY hKey; RegCreateKeyEx(HKEY_CURRENT_USER,"Software\\test",0,0,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&hKey,0); DWORD test = 0; DWORD test_dwData = sizeof(DWORD); RegQueryValueEx(hKey,"Y_POS_ADRESS",0,0,(BYTE*)&test ,&test _dwData); RegCloseKey(hKey);
in dem Registryeintrag welcher ein Reg_DWORD ist steht als hexwert eine speicheradresse. 1f0012
Diesen wert möchte ich nun mit
HWND hWnd; HANDLE hproc; DWORD procid; hWnd = FindWindow(0,TEXT("Test")); GetWindowThreadProcessId(hWnd, &procid); hproc = OpenProcess(PROCESS_VM_READ, FALSE, procid); float testvalue; ReadProcessMemory(hproc, (LPCVOID) (test), &testvalue, sizeof(testvalue), NULL);
Auslesen. Allerdings nimmt akzeptiert ReadProcessMemory die aus der registry ausgelesene Speicheradresse nicht als solche.
Weis jemand weiter wie ich das Problem lösen kann ?
-
Fehlermeldung?
Vermutlich reicht "PROCESS_VM_READ" nicht, oder es ist schon früher ein Fehler passiert; da Du ja keine Rückgabewerte auswertest, fällt Dir das ja gar nicht auf...
-
hm ne es passiert einfach nichts
ReadProcessMemory(hproc, (LPCVOID) (0x1f0012), &testvalue, sizeof(testvalue), NULL);
dagegen geht ohne probleme.
Ich hab den Verdacht das nur 1f0012 und nicht 0x1f0012 aus der registry ausgelesen wird weis aber nicht wie ich das 0x dazu bekommen kann^^