Registriert seit: 18. Mär 2007
Ort: Borland
556 Beiträge
Delphi 7 Enterprise
|
Re: In Process nach bestimmten Wert suchen
25. Feb 2008, 14:29
Habe es endlich geschafft, das er sucht aber es dauert so wahnsinnig lange ... bei CE oder TSearch geht das alles schneller
ICh mache es derzeit so:
Delphi-Quellcode:
procedure TCrossXSearch.Suche(Sender: TObject);
var
hprocess: Thandle;
address: Pointer;
LetzteZifer : Char;
LI : TListItem;
I: Integer;
begin
hProcess := OpenProcess(PROCESS_VM_READ,False,ProzessID);
address := FindValueInProcess(hProcess,StrToInt('$'+( DezToHexa1(Edit1.Text) )),StrToInt('$00401000'),$+ProzessSize);
if address <> nil then
begin
LI := ListView1.Items.Insert(ListView1.Items.Count);
LI.Caption := Format('%x',[DWORD(address)]);
LI.SubItems.Add(Edit1.Text);
for I := 1 to ProzessSize do
begin
address := FindValueInProcess(hProcess,$1, StrToInt('$00' + Format('%x',[DWORD(address)])) +$1,$+ProzessSize);
if address <> nil then
begin
Listbox1.Items.Add(Format('%x',[DWORD(address)]));
LI := ListView1.Items.Insert(ListView1.Items.Count);
LI.Caption := Format('%x',[DWORD(address)]);
LI.SubItems.Add(Edit1.Text);
Edit2.Text := IntToStr(ListView1.Items.Count);
end else
begin
CloseHandle(hProcess);
Exit;
end;
end;
end;
end;
Du derefernzierst p2 einmal und weißt die Adresse von i zu. Das heißt p2 (also der Zeiger auf einen Zeiger) zeigt auf den Zeiger p1 welchen du so auf i zeigen lässt.
|
|
Zitat
|