Also in c# benutze ich immer enum child window, dann hat man ne list aller control handles von denen jedes control immer an der gleichen stelle in der liste ist (so lange die gui nicht verändert wird).
Ist ja ne winapi sollte also auch in c++ gehen.
Also in c# benutze ich immer enum child window, dann hat man ne list aller control handles von denen jedes control immer an der gleichen stelle in der liste ist (so lange die gui nicht verändert wird).
Ist ja ne winapi sollte also auch in c++ gehen.
ja das habe ich jetzt auch aber ich wusste nicht das das handle immer gleich ist
der witz ist das das gold value nicht mit dabei ist...
ich habe halt mit enumchildwindows jedes control durch und mit GetWindowText abgefragt welches control den aktuellen gold wert hat aber null ergebnis...
Schau dir das Fenster mal mit Spy++ an.
Das Goldlabel wird wieder ein ChildWindow von einem Control sein - du wirst das rekursiv aufrufen müssen.
Also machst du enumchildwindow auf das mainwindow handle?
ich rufe einmal enumwindows auf um alle ibot fnster zu erhalten dann enumchildwindows um alle controls zu erhalten....
ich werds jetzt anders amchen da das so scheinbar unmöglich ist....
ich such mir jetzt alle packete raus die einen goldwert enthalten und such mir die packete im ibot client raus und setz da nen codecave rein was den goldwert auf ne freie stelle im bot schreibt.... ein packet hab ich schon fertig....
sau nerfig der scheiß aber danke trotzdem an alle
MfG Sick^
Schonmal so probiert?
[quelle]http://www.dreamincode.net/for…c/70823-enumchildwindows/[/quelle]
langsam fühl ich mich verkackeeiert^^
zum dritten mal ja mit enumchildwindows hab ich schon gearbeitet aber das problem ist eher das herausfinden welches das control für gold ist als das auslesen
aber ich machs jetzt anders danke trotzdem ![]()
MfG Sick^
Aso ok, also ich hab mir dafür ein prog geschrieben in dem ich erst mit dem Cursor auf den Fensterrand klicke dann handleFromPoint (oder so) mache wodurch ich das mainwindow handle habe.
Dann noch auf das control um das control handle zu haben.
Dan enummeriere ich das Fenster und gehe die liste durch bis das control handle kommt und gebe den Index der liste aus, welcher ja immer gleich ist.
wäre ne möglichkeit sollte meine varinte nicht klappen werde ich das noch testen
Hier das prog, das unten rechts im Fenster kann man ignorieren.
https://rapidshare.com/files/457241345/Handletest.zip
Viel einfacher als das übern Ram zu machen ![]()
Wie Traumfänger schon gesagt hat, bekommst du damit nicht die ChildControls der Controls sondern nur die Controls auf dem MainWindow. Das heißt dass die Controls die zum Beispiel in einer Groupbox liegen nicht bekommst. Du musst EnumChildWindows auch nochmal auf die ControlHandles callen um praktisch die UnterunterControls zu bekommen, also die die in der Groupbox sind.
Und ja ich hab mittlerweile auch mitbekommen dass du's anders machst, ich wollte es nur mal anmerken ![]()
Wenn du es so wie ich machst, wird das ganze schon rekursiv ausgeführt.
also das handle ist definitiv nicht statisch...
nein aber seine Position in der liste die du bekommst.
ok und in deinem tool ist die liste wo^^
Intern. Die brauchst du ja aber auch nicht wissen weil du dir die jedes mal selbst machst.
Der index des control handles in der liste jedoch steht unter enum id.
ich schnall das nicht da kommt nix mit enum id^^
zuerst klcikst du auf das + bei window handle und klickst dann auf den fenster rand von dem fenster wo du die id auslesen willst.
Dann klickst du auf das + von control handle und auf das control von dem du die id wissen willst.
Jetzt müsste bei enum id (oben rechts) die id stehen, die der index in der liste ist.
Das Problem liegt nicht darin, dass er an das Control nicht kommt.
Ich habe es gestern selber ausprobiert & die WinAPI Funktion rekursiv ausgeführt -> Es werden alle Controls aufgelistet.
Nur GetWindowText gibt den Wert der Initialisierung zurück (komischerweise). Also für HP -> 200, MP -> 200, Gold -> 0, XP -> 0. Etc.
Ich glaube ich habe das schonmal aus dem ibot ausgelesen.
versucht es mal bitte damit: https://rapidshare.com/files/457435124/Handletest.zip
Kann es leider nicht testen, da ich kein Silkroad drauf habe.