Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
var
dwBytes, Buf: DWord;
dwEngineBase, dwClientBase: DWord;
dwProcID: Integer;
hProcess: THandle;
begin
dwEngineBase := 0;
dwClientBase := 0;
hProcess := 0;
dwProcID := GetProcessID('
calc.exe');
if dwProcID <> 0
then
begin
hProcess := OpenProcess(PROCESS_ALL_ACCESS, true, dwProcID);
if (hProcess = INVALID_HANDLE_VALUE)
then
begin
Showmessage('
Ungültiges Handle :' + Inttostr(hProcess));
exit;
end;
// dwClientBase := GetModuleBaseAddress(dwProcID, 'calc.exe');
// Showmessage(InttoHex(dwProcID,8));
// dwBytes := 4;
// end
// else
// begin
// Showmessage('Finde Prozess nicht');
// end;
if ReadProcessMemory(dwProcID, Pointer($002C3C84), @Buf, 4, dwBytes)
then
caption := (inttostr(Buf) + '
+' + (inttostr(dwBytes)));
end;
end;
liefert
1242625
was mache ich falsch weil lesen sollte ich ja eigentlich
85
habs vor lauter Verzweiflung auch in C++ versucht (obwohl ich das nicht kann) was aber genauso aussieht?