Einzelnen Beitrag anzeigen

-=Breeze=-

Registriert seit: 14. Apr 2008
Ort: Köln
29 Beiträge
 
Delphi 7 Enterprise
 
#1

WriteProcessMemory funktioniert nicht

  Alt 28. Mär 2009, 18:21
Guten Abend,

ich habe vor einigen Tagen eine Prozedur geschrieben, die mithilfe von WriteProcessMemory Werte in einem Spiel verändert.

Doch nach kleinen Veränderungen funktioniert diese leider nicht mehr, und ich finde den Fehler einfach nicht...
Die Adresse ist statisch, werden beim Neustart des Spiels nicht verändert.

Hier der Code, ich hoffe jemand findet den Fehler

Delphi-Quellcode:
const
  WindowTitle = 'SPIEL-NAME';
  Address = $00431CA8;
  NumberOfBytes = 1;


procedure TForm1.setlives(lives: integer);
begin
  if DX_running then // wenn das Spiel läuft
  begin
  GetMem(buf,1);
  ThreadId := GetWindowThreadProcessId(WindowName,@ProcessId);
  HandleWindow := OpenProcess(PROCESS_ALL_ACCESS,False,ProcessId);

  try
    buf^ := Chr(Lives);
    WriteProcessMemory(HandleWindow,ptr(Address), buf, NumberOfBytes, write);
  finally
    FreeMem(buf);
    closehandle(HandleWindow);
  end;
  end;
end;
  Mit Zitat antworten Zitat