Misiekd napisał(a)
OK, napisałęm tylko, że już był ktoś, kto pytał o kod do odczytu pamięci Tibii i że go dostał
Szukałem na forum i nie znalazłem :/
var
WindowName, ProcessId, ThreadId, HandleWindow: Integer;
buf: PChar;
Read: Cardinal;
const
WindowTitle = 'Tibia';
Address = $49F030;
NumberOfBytes = 4;
...
WindowName := FindWindow(nil, WindowTitle);
if WindowName = 0 then
begin
Memo1.Lines.Add('WARNING! Tibia is not running');
end;
ShowMessage('WindowName: '+FloatToStr(WindowName));
ThreadId := GetWindowThreadProcessId(WindowName, @ProcessId);
ShowMessage('TID: '+FloatToStr(ThreadID));
HandleWindow := OpenProcess(PROCESS_ALL_ACCESS, False, ProcessId);
ShowMessage('HandleWindow: '+FloatToStr(HandleWindow));
ReadProcessMemory(HandleWindow, ptr(Address), buf, NumberOfBytes, Read);
ShowMessage('Przeczytano: ' + IntToStr(read) + ' bajtów' );
WindowName nie wynosi 0, ThreadID również, HandleWindow także, jedyny problem to to, że wyświetla: "przeczytano 0 bajtów", więc w porównaniu do poprzedniej "wersji" już handle jest poprawne i TID. W czym problem, dlaczego nie czyta?? Kod wykorzystany w większości z Torry`s Delphi