Delphi-Quellcode:
asm
cmp ph,0
end;
begin
patchmem:=false;
exit;
end;
Was ist denn das? Soll das eine If-Abfrage werden? Dann mach sie doch besser in reinem Pascal. So wird es auf jeden Fall nix. Exit wird immer ausgeführt. Dein Programm kommt nie bis writeprocessmemory.
Du solltest generell mal das
ASM rausschmeißen. Es ist nicht wirklich sinnvoll (also ich kann keinen Sinn erkennen) und es gibt noch andere Probleme (nur als Beipsiel):
Delphi-Quellcode:
hwnd:=findwindowexa(0,0,
nil,WindowName);
asm
xchg edx,hwnd
//in hwnd steht jetzt edx. Und in edx stand vorher entweder BaseAddress oder irgendein (meist nicht verwertbares)Zwischenergebnis von FindWindowEx
end;
asm //ziemlich sinnlos ASM zu beenden und gleich wieder zu "starten"
cmp hwnd,0
//hier vergleichst du definitv nicht das hwnd aus FindwindowEx
end;
PS: Ich kann mich auch stark irren, aber es sieht alles etwas eigenartig aus.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.