OK, es stimmt ja alles was Ihr sagt, wird wohl eher an mir liegen, da ich mich mit Delphi kaum auskenne und mich die Typen, die man alle konventieren muss mich verrückt machen.
Ich habe auf meinem Formular 3 edit-Felder... in 2 gebe ich ein von wo, bis wo, der Bereich durchsucht werden soll, ins dritte gebe ich ein, wonach gesucht werden soll.
Mir wird aber nicht das ausgegeben, was ich in der Listbox haben möchte. Helft mir bitte.
Code ist unschön ;( sory
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
Processhandle: THandle;
WindowHandle, i, Pidi,
lBuf, EndMemHex, StartMemHex,
Sets, SuchS : Integer;
Wert :DWORD ;
StartMem, EndMem, SuchMem,
SHex, EHex: String;
begin
listbox1.Clear;
StartMem:= edit2.Text;
EndMem := edit3.Text;
SuchMem := edit4.Text;
SuchS:= StrToInt(SuchMem);
SHex:= '$'+ StartMem;
EHex:= '$'+ EndMem;
StartMemHex:= StrToInt(SHex);
EndMemHex:= StrToInt(EHex);
WindowHandle :=FindWindow(nil,'Guild Wars');
While StartMemHex <= EndMemHex Do
begin
GetWindowThreadProcessId(WindowHandle ,@Pidi);
ProcessHandle :=OpenProcess(PROCESS_VM_READ ,False , pidi);
ReadProcessMemory(Processhandle ,ptr(StartMemHex),@lBuf,4,Wert);
StartMemHex:= StartMemHex + 1;
If SuchS = lbuf Then
Listbox1.Items.Add (IntToHex(StartMemHex,8));
Sets:= Listbox1.Items.Count;
Label5.Caption:=IntToStr(Sets) ;
end;
end;
So etwas sollte in der Listbox z. B. rauskommen :
00A0002F
00A00037
00A0003F
00A00047
00A0004F
00A00057
bei mir kommt aber das raus:
00A00030
00A00038
00A00040
00A00048