Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi eine dynamische zahl von nem anderen programm auslesen? (https://www.delphipraxis.net/95848-eine-dynamische-zahl-von-nem-anderen-programm-auslesen.html)

MaDetho 14. Jul 2007 00:35


eine dynamische zahl von nem anderen programm auslesen?
 
hey weis jemand wie man zb von nem programm wie dem hier http://img294.imageshack.us/img294/488/warnr5.png
die zahl (dynamich) die ich makiert habe aufs eine Form bekomme?
wäre mir wichtig vllt kan ich dadurch auch was lernen :S

jmd anders 14. Jul 2007 00:58

Re: kan mir jemand helfen?
 
Mit ReadProcessMemory kannst du den prozessspeicher anderer Anwendungen lesen.
Am besten besorgst du dir mal nen Memory Editor wie zb Tsearch.

Luckie 14. Jul 2007 01:50

aussagekräftiger Titel
 
Gib bitte deinem Thread einen aussagekräftigen Titel, der etwas über das Problem aussagt. Du kannst da zu einfach deinen ersten Beitrag editieren.

bitsetter 14. Jul 2007 01:53

Re: kan mir jemand helfen?
 
Hi,

das scheint zwar ein Spiel zu sein, aber du kannst ja trotzdem mal versuchen ob du da was auslesen kannst.
Dafür benötigst du einen TLabel und ein TTimer, im onTimer Event fügst du folgenden Code hinzu:
Delphi-Quellcode:
function GetWinText(Handle: HWND): AnsiString;
begin
  SetLength(Result, SendMessage(Handle, WM_GETTEXTLENGTH, 0, 0)+ 1);
  SendMessage(Handle, WM_GETTEXT, Length(Result), integer(Result));
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  //Timer1.Interval:= 100;
  Label1.Caption:= GetWinText(WindowFromPoint(mouse.CursorPos));
end;
Wenn du mit dem Cursor auf den Text zeigen tust, wirst du ja sehen ob dieser ausgelesen werden kann.

MaDetho 14. Jul 2007 09:51

Re: kan mir jemand helfen?
 
hey
zuerst mal thx für die shcnellen antworten mit t search hab ich grad geschaut die zahl wird in der 0000C08618 zeile angezeigt.
leider weis ich nicht wie es mit dem ReadProcessMemory geht. :S

@bitsetter könntest du du das programm machen also mit dem cursor leider gehts bei mir nicht richtig hab irgendein fehler.

bitsetter 14. Jul 2007 10:03

Re: kan mir jemand helfen?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Was denn für ein Fehler genau?

MaDetho 14. Jul 2007 10:11

Re: eine dynamische zahl von nem anderen programm auslesen?
 
cool danke also Handle : 2885950 Ttimer: iNFO und nun ? XD

ich doof hab den Ttimer vergessen :D

bitsetter 14. Jul 2007 10:43

Re: eine dynamische zahl von nem anderen programm auslesen?
 
Also liest er nur den Text iNFO der übergeordneten GroupBox aus, jedoch nicht den Text den du auslesen wolltest.
Der Text wird dann anscheinend nur aufgemalt und wird wohl mit dem Code nicht auszulesen sein.

MaDetho 14. Jul 2007 10:45

Re: eine dynamische zahl von nem anderen programm auslesen?
 
mist naja trozdem danke für die antworten :)

oder könnt man die ganze box auslesen?

Luckie 14. Jul 2007 11:36

Re: eine dynamische zahl von nem anderen programm auslesen?
 
Zitat:

Zitat von bitsetter
Also liest er nur den Text iNFO der übergeordneten GroupBox aus, jedoch nicht den Text den du auslesen wolltest.
Der Text wird dann anscheinend nur aufgemalt und wird wohl mit dem Code nicht auszulesen sein.

Denke ich nicht. Der Text wird in einem Kindfenster der Groupbox stehen. Die Groupbox selber kann ja keinen Text anzeigen.

bitsetter 14. Jul 2007 17:11

Re: eine dynamische zahl von nem anderen programm auslesen?
 
Zitat:

Zitat von Luckie
Denke ich nicht. Der Text wird in einem Kindfenster der Groupbox stehen. Die Groupbox selber kann ja keinen Text anzeigen.

Das denke ich schon, denn ich habe es gerade ausprobiert. Wenn er den Cursor genau über den Text hält, sollte dieser auch ausgelesen werden auch wenn es ein Kindfenster ist, selbst wenn das Fenster mehrere übergeordnete Fenster besitzt. Zumindest wenn es ein Standard WinControl ist.

Ansonsten benutze doch mal ein richtiges Programm, hier gibt es dazu einige Links. Die oben aufgeführten Links wären dazu interessant für dich.
Mich würde dazu auch mal der Klassenname des Fensters interessieren. Denn das Programm kann ja zufällig mit Delphi erstellt worden sein, dann wüsste ich noch eine Möglichkeit.

MaDetho 14. Jul 2007 19:10

Re: eine dynamische zahl von nem anderen programm auslesen?
 
ja das programm wurde mit delphi geschrieben.
ach und ich hab mit einem program mal mein datentransfer geschaut als ich 1 punkt mehr bekommen hab kam der link

das sind miene points nur verschlüsselt und hab nach jedem weitern punkt geschaut was raus kommt:

2345 = liim
2346 = liip
2347 = liji usw.

vllt kan man damit was anfangen.

dominikkv 14. Jul 2007 19:53

Re: eine dynamische zahl von nem anderen programm auslesen?
 
du kannst mal mit Componentfinder oder WinSpy schauen ob es wirklich kein richtiges Handle hat...

ansonsten: das Handle ändert sich bei jedem neustart des Programms... musst halt immer das handle von neuem auslesen... wie das geht hab ich hier erklärt.

MaDetho 14. Jul 2007 20:16

Re: eine dynamische zahl von nem anderen programm auslesen?
 
das program gefällt mir also componentenfinder 2 richtig gut :D

naja ich habs gemahct und siehe da das handle der infobox ist 2230378
hmm :S aber rechts in der box steht:

Das Handle konnte nicht anhand des automatisch erzeugten Quelltextes wieder gefunden werden. Eventuell gibt es mehrere Fenster mit dieser Klassenhierarchy, wodurch es ein Glücksspiel ist das richtige zu finden.

MaDetho 14. Jul 2007 21:16

Re: eine dynamische zahl von nem anderen programm auslesen?
 
ich glaub man kan den text so nicht auslesen aber vllt durch die webseit nur shceisse auch ist das die zahl verschlüsselt ist echt komisch :(

edit: oh ich seh grad das die seite http://stars.astalavista.ms/war/ off ist :S

bitsetter 14. Jul 2007 22:21

Re: eine dynamische zahl von nem anderen programm auslesen?
 
Zitat:

Zitat von MaDetho
edit: oh ich seh grad das die seite http://stars.astalavista.ms/war/ off ist :S

Ja und nun, hat sich die Sache nun erledigt?

Was für ein Klassenname hat das Tool Componentenfinder 2 denn nun herausgefunden?
Befindet sich das Programm was du auslesen möchtest überhaupt auf deinem Rechner?

MaDetho 14. Jul 2007 22:26

Re: eine dynamische zahl von nem anderen programm auslesen?
 
k dan hat sich wohl die sache erledigt. eine frage hät ich noch wie kan man ein bestimtes handle zb : 2739498 auf eine form bringen wen ich das wüsste währe ich ein ganzes stück weiter. :spin2:
vllt mit einem beispiel projekt oder so wäre ganz nett ^^

bitsetter 14. Jul 2007 22:29

Re: eine dynamische zahl von nem anderen programm auslesen?
 
Wie meinst du denn das, willst du das zum Beispiel in einem Label anzeigen lassen?

MaDetho 15. Jul 2007 00:18

Re: eine dynamische zahl von nem anderen programm auslesen?
 
ja der genau das handle wie zb in einem chat fenster wen das handle : 2938203 ist und es nun die convo oder den text aufs label anzeigen. :roll:

bitsetter 15. Jul 2007 03:33

Re: eine dynamische zahl von nem anderen programm auslesen?
 
Wenn du ein Handle hast bekommst du den Text oftmals mithilfe von WM_GETTEXT und dazu habe ich in Beitrag #4 die Funktion GetWinText() benutzt.
Bei deinem Fenster welches in Delphi geschrieben wurde, hat man bestimmt 2 TLabel genommen welche kein Handle besitzen und somit funktioniert auch der Code nicht. Es wäre auch möglich diese auszulesen, jedoch wäre der Aufwand schon etwas größer und ist auch noch von der verwendeten Delphiversion abhängig.

Es gibt da auch keinen Standardcode oder sowas, mit dem man jeden Text aus einem anderen Fenster holen kann.

MaDetho 15. Jul 2007 09:47

Re: eine dynamische zahl von nem anderen programm auslesen?
 
ach das ist mir alles nioch bisschen zu schwer ich geh mal lieber zuerst delphi lernen dan meld ich mich wieder :D.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:49 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz