Sicher, dass an der Stelle ein lesbares Zeichen steht?
Abgesehen davon, würde ich es mal so probieren, bin aber nicht sicher, ob es einen Unterschied macht:
Delphi-Quellcode:
var
lBuf: string;
lRead,c : Cardinal;
begin
c:=FindWindow(nil, 'sag ich net'); //Get WindowHandle
if c=0 then
begin
MessageDlg('...erst spiel starten...dann trainer starten =)',mtwarning,[mbOK],0);
Exit;
end;
GetWindowThreadProcessId(c, @c); //Get ProcessID and ignore ThreadID
c := OpenProcess(PROCESS_ALL_ACCESS, False, c); //Get ProcessHandle
SetLength(lBuf, 1);
ReadProcessMemory(c, Ptr($599CD8), @lBuf[1], 1, lRead);
Edit1.Text := lBuf;
CloseHandle(c);