Siehst du, und schon haben wir die Erklärung für deine Frage.
Zitat von
Gehstock:
was mache ich falsch
Heißt also, daß entweder dwProcID oder Pointer($002C3C84) nicht stimmt
oder daß dein Programm nicht genügend Rechte hat, um Lesen zu dürfen.
Aber mal sehn, ob man eine bessere Fehlermeldung rausbekommt, als dein nichtssagendes "Kann Speicher nicht lesen":
Delphi-Quellcode:
if not ReadProcessMemory(dwProcID, Pointer($002C3C84), @Buf, 4, dwBytes) then
ShowMessage(SysErrorMessage(GetLastError));