So Leute da ich nu absolut nicht weiter komme brauche ich hier ma hilfe^^
Ich versuche den iBot auszulesen...
Mit ReadProcessMemory ist da ja nicht viel da der iBot den GoldWert direkt aus dem Packet holt und ins Label auf der GUI schreibt.
Die Speicheraddresse der Werte der Labels sind bei Programmstart immer anders...
Nun hatte ich halt noch meine Schleife in der ich mir die Prozess ID's geholt hatte für meine Bot Prozesse.
Dann meinte Peach ich solle es mal mit EnumChildWindows versuchen. Inzwischen habe ich es ja so weit das ich scheinbar alle Controls aller Bots finden kann....
Aber^^ ... Wenn ich in meiner Callback funktion via strcmp vergleiche ob ein String mit einem aktuell abgelesenen Goldwert übereinstimmt erhalte ich kein Ergebniss...
Hier mal mein Code vielleicht könnt ihr mir ja helfen.
Ziel: Den Goldwert von allen Bots auslesen.
- int main()
- {
- EnumWindows(EnumAllWindows,NULL);
- }
- BOOL CALLBACK EnumAllWindows(HWND hwnd, LPARAM lparam)
- {
- char window_name [256];
- GetWindowText(hwnd,window_name,256);
- if(!strcmp(window_name,"[ISRO - iB0t] Silkroad Online B0t - http://ibotforfun.blogspot.com/"))
- EnumChildWindows(hwnd,EnumChilds,NULL);
- return true;
- }
- BOOL CALLBACK EnumChilds(HWND hwnd, LPARAM lparam)
- {
- char window_name [256];
- char sClassName[50];
- GetClassName(hwnd,sClassName,50);
- GetWindowText(hwnd,window_name,256);
- if(!strcmp(window_name,"23458")){ //<--aktueller goldwert eines bots
- //cout << "klasse: " << sClassName << endl;
- cout << "control: " << window_name << endl;
- }
- }
danke im vorraus
MfG Sick^