Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
Delphi 10 Seattle Enterprise
|
AW: ReadProcessMemory -> Problem
15. Okt 2010, 17:39
Seit wann werfen API-Funktionen Exceptions?
Weil der API-Aufruf zu eiber Access Violation fühert vermute ich mal.
NEIN
Delphi-Quellcode:
Function ReadMemory: PChar;
begin
try
GetMem(p, SizeOf(P));
ReadProcessMemory(WindowHandle, Ptr($01324480), @P, SizeOf(P), write);
// so result zeigt jetzt auf die gleiche Adresse wie P
Result := P;
finally
// Jetzt wird der Speicher an der Adresse P freigegeben
// Wir erinnern uns, diese Adresse ist auch in Result gespeichert
// Was können wir an dieser Adresse jetzt noch erwarten?
// Richtig: Datenmüll
FreeMem(P);
CloseHandle(WindowHandle);
end;
begin
OpenMemory;
Writeln(ReadMemory); //--> geht nicht, logisch, weil unter Rückgabeadresse nix ist
Readln;
end.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
|
|
Zitat
|