AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

In Process nach bestimmten Wert suchen

Ein Thema von napsterxx · begonnen am 24. Feb 2008 · letzter Beitrag vom 14. Mär 2008
Antwort Antwort
napsterxx

Registriert seit: 18. Mär 2007
Ort: Borland
556 Beiträge
 
Delphi 7 Enterprise
 
#1

In Process nach bestimmten Wert suchen

  Alt 24. Feb 2008, 21:39
So nochmal ich,
Ich möchte in einem Prozess, ich habe den name und die Prozess ID nach einm Wert suchen, um genau zu sein nach 87713. Kann ich das mit Delphi überhaupt realisiern? greez
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.
  Mit Zitat antworten Zitat
Neotracer64

Registriert seit: 27. Okt 2004
292 Beiträge
 
Delphi 7 Professional
 
#2

Re: In Process nach bestimmten Wert suchen

  Alt 24. Feb 2008, 22:27
Kommt mir doch bekannt vor

http://www.delphipraxis.net/internal...highlight=wert
  Mit Zitat antworten Zitat
napsterxx

Registriert seit: 18. Mär 2007
Ort: Borland
556 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: In Process nach bestimmten Wert suchen

  Alt 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.
  Mit Zitat antworten Zitat
napsterxx

Registriert seit: 18. Mär 2007
Ort: Borland
556 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: In Process nach bestimmten Wert suchen

  Alt 9. Mär 2008, 11:35
Ich suche halt in allen Adressen, und glaube deshalb dauert das so lang. Kann jemand helfen?
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.
  Mit Zitat antworten Zitat
Benutzerbild von thkerkmann
thkerkmann

Registriert seit: 7. Jan 2006
Ort: Pulheim Brauweiler
464 Beiträge
 
Delphi 2010 Professional
 
#5

Re: In Process nach bestimmten Wert suchen

  Alt 9. Mär 2008, 11:44
Moin,

was ist denn das
StrToInt('$00' + Format('%x',[DWORD(address)]) für eine Konstruktion ?

Also wenn ich nicht ganz daneben liege machst du hier aus einem DWORD ein DWORD mit genau dem gleichen Inhalt über den Umweg vom Format und StrToInt ?
Könnte das dein Performanceproblem sein ?

Dann kann man doch gleich DWORD(address) schreiben ?

Gruss
Thomas Kerkmann
Ich hab noch einen Koffer in Borland.
http://thomaskerkmann.wordpress.com/
  Mit Zitat antworten Zitat
napsterxx

Registriert seit: 18. Mär 2007
Ort: Borland
556 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: In Process nach bestimmten Wert suchen

  Alt 9. Mär 2008, 12:08
Öhm joa Aber das beschleunigt trotzdem nicht die Suche, die funktioniert ja, nur eben mega langsam
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.
  Mit Zitat antworten Zitat
Neotracer64

Registriert seit: 27. Okt 2004
292 Beiträge
 
Delphi 7 Professional
 
#7

Re: In Process nach bestimmten Wert suchen

  Alt 14. Mär 2008, 03:52
Schau dir mal VirtualQueryEx an.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz