Autor Beitrag
ThEGZA
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 43



BeitragVerfasst: Sa 07.09.02 17:56 
Huhu....ich hab mal ne frage und zwar weiß vielleicht einer wie ich das download fenster von kazaa finde bzw. informationen daraus auslese und quasi diese daten in mein projekt übertrage ???
also mit findwindow('KaZaA',Nil); hab ich schonmal das hauptfenster gefunden aber ich weiß selbst net mit dem apispy wie ich andere childs finde....kann mir bitte einer helfen das wäre nett :)
OregonGhost
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 215



BeitragVerfasst: So 08.09.02 11:32 
Microsoft hat folgendes geschrieben:

HWND FindWindowEx( HWND hwndParent,
HWND hwndChildAfter,
LPCTSTR lpszClass,
LPCTSTR lpszWindow
);


der erste Parameter gibt das Elternfenster an. Folglich übergibst du hier den Handle des Hauptfensters. Der zweite gibt an, nach welchem Kindfenster die Suche starten soll - hier gibst du jeweils das zuletzt gefundene Kind an. Mit Spy++ oder Winsight kannst du die Klasse und Beschriftung herausfinden und sie hier angeben, um direkt danach zu suchen.

_________________
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
ThEGZA Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 43



BeitragVerfasst: So 08.09.02 11:35 
ich habe ja schon das handle vom hauptfenster !!!
gefunden mit

ausblenden Quelltext
1:
findwindow('KaZaA',Nil);					


wobei KaZaA dann auch gleich der classenname ist.
aber nun muss ich in das kazaa formular und diese downloadliste finden (bzw das handle finden) aber da es nicht direktes child vom KaZaA handle ist sondern nochwas davor kommt hab ich kein plan....
DeCodeGuru
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1333
Erhaltene Danke: 1

Arch Linux
Eclipse
BeitragVerfasst: So 08.09.02 11:45 
du hast die Funktion FindWindow verwendet, welches dir ein Handle von einem Programm besorgt. OregonGhost hat dir aber eine Funktion namens FindWindowEx gegeben, welche einem ein Handle zurückgibt, das man in einem Bereich sucht, der zu einem Programm gehört, von dem du das Handle über FindWindow gehohlt hast. (scheiß Satzbau ;-)

Such dann einfach mal mit Winsight nach dem Fenster, welches du suchst oder nimm den Enabler/Disabler von Mr. Drone. Der gibt die den Klassennamen und den Namen des Fensters zurück. Dann kannste mit WM_GetText den Text holen.

_________________
Viele Grüße
Jakob
ThEGZA Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 43



BeitragVerfasst: So 08.09.02 11:57 
der der message WM_GETTEXT kannst du doch z.b. nur texte aus editboxen holen oder auch aus listboxen ???


und nochmal für die dummen (mich):
mit findwindowex kann man im kazaa haupt fenster nach anderen sachen suchen wie z.b. den knöpfen für trafic und search etc. ja ???

_________________
-= Ein Compiler tut nicht was man will ... sondern was man schreibt =-
DeCodeGuru
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1333
Erhaltene Danke: 1

Arch Linux
Eclipse
BeitragVerfasst: So 08.09.02 12:20 
Zitat:
mit findwindowex kann man im kazaa haupt fenster nach anderen sachen suchen wie z.b. den knöpfen für trafic und search etc. ja ???


Jo

Zitat:
der der message WM_GETTEXT kannst du doch z.b. nur texte aus editboxen holen oder auch aus listboxen ???


Man kann mit WM_Gettext auch aus Labeln den Text rausholen, also warum nicht aus lsitboxen?

_________________
Viele Grüße
Jakob
ThEGZA Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 43



BeitragVerfasst: So 08.09.02 12:51 
weil in listboxen ja bekanntlich mehrere items drin sind (mehrere downloads) daher muss man wahrscheinlich mit einem index arbeiten der dann ein item identifiziert.

danke für deine hilfe ich hoffe es funzt mit dem findwindowex.....
thx :P

_________________
-= Ein Compiler tut nicht was man will ... sondern was man schreibt =-
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 08.09.02 13:46 
Na,wie wär´s denn dann mit den spezifischen Listbox-Messages? Z.B. "LB_GETTEXT", und auch "LB_GETCOUNT"? - Mit letzterer bekommst du heraus, wieviele Einträge drin sind, und dann hast du doch eine Basis, um mit ersterer den jeweiligen Text auszulesen.
ThEGZA Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 43



BeitragVerfasst: So 08.09.02 17:17 
geil ich wußte garnicht das es sowas spezifisches gibt thx erstmal !!!!
aber ich finde die fucking (sorry für das wort) listbox nicht.......kann mal einer versuchen mit den api funktionen das downloadfenster von kazaa zu finden ????

_________________
-= Ein Compiler tut nicht was man will ... sondern was man schreibt =-
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 09.09.02 07:50 
Lass dir doch am besten mal mit der Funktion "EnumChildWindows" alle untergeordneten Fenster auflisten. Dann wirst du ja (hoffentlich) anhand des Klassennamens sehen, ob die Listbox dabei ist.

"Hoffentlich", weil ich dieses Programm nicht benutze und weil´s mich -offen gesagt!- auch nicht sonderlich interessiert.

So, wenn du die Listbox dann gefunden hast, dann kannst du den Klassennamen von ihr benutzen und auf den Inhalt zugreifen. Du kannst -wenn du nicht sicher bist!- auch mal versuchen, den Inhalt mit "LB_GETCOUNT" auszulesen und vielleicht einen eigenen Wert anzuhängen. :wink: Dann weißt du 100% an welcher Stelle du gerade bist.
ThEGZA Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 43



BeitragVerfasst: Mo 09.09.02 12:00 
stimmt da hast du recht und nochmal 1000 dank an alle hier die sich so nett drum gekümmert haben...ich werde ja ganz rot :oops:

_________________
-= Ein Compiler tut nicht was man will ... sondern was man schreibt =-
ThEGZA Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 43



BeitragVerfasst: Mo 09.09.02 15:13 
kann mir mal einer nen kleines beispiel zu EnumChildWindows schreiben ???
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
BOOL EnumChildWindows(

    HWND hWndParent,  // handle to parent window
    WNDENUMPROC lpEnumFunc,  // pointer to callback function
    LPARAM lParam   // application-defined value
   );

oder mit vielleicht sagen was bei pointer to callback function und application-definded value bedeutet ????

_________________
-= Ein Compiler tut nicht was man will ... sondern was man schreibt =-
ThEGZA Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 43



BeitragVerfasst: Mo 09.09.02 17:18 
ich werd noch bescheuert hier......bitte guckt euch mal den code an....

ausblenden Quelltext
1:
2:
3:
kazaa:=findwindow('KaZaA',Nil);
ander:=findwindowex(kazaa,???,'SysTreeView32',Nil);
messagedlg(inttostr(ander),mterror,[mbok],0);


finde ich so das downloadfenster bei kazaa ????
plz ich komme echt net weiter so......kann net mal einer nen sample schreiben um das downloadfenster (downloadliste) zu finden.

_________________
-= Ein Compiler tut nicht was man will ... sondern was man schreibt =-
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 09.09.02 19:12 
Bei Kazaa handelt es sich um eine Listview und den kann man nicht einfach mit den Listbox-Nachrichten auslesen, denn bei CommonControls (Listview ist eins) muß man zum Auslesen auf den Adressraum der jeweiligen Anwendung zu greifen.

Such mal mit Google nach GrabListview, da solltest du ein programm finden, welches fremde Listviews ausliest.

Aber bei dem Kazaa-Ding handelt es sich um einen Treeview, auch wenn es nicht so aussieht. Du müßtest den Source von GrabListview also etwas umbauen. Was ich mir aber nicht gerade einfach vorstelle.
ThEGZA Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 43



BeitragVerfasst: Mo 09.09.02 20:07 
mir ist schon klar das es sich dabei um eine treeview handelt und es sieht sogar so aus da du in delphi direkt auch das design ändern kannst.
der interne name des teils heisst SysListView32 oder so ähnlich.

und ich will es erstmal nicht auslesen sondern einfach nur das verdammte handle rausfinden wenn ich das habe hat sich der rest erledigt weil ich genau oder zum teil weiß wie ich daten daraus auslese.

Bitte es muss doch einer schaffen nur das handle rauszubekommen.
also über findwindow und über die childclasses.

_________________
-= Ein Compiler tut nicht was man will ... sondern was man schreibt =-
ThEGZA Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 43



BeitragVerfasst: Mo 09.09.02 20:48 
so das grabteil funzt echt supi aber genau da wo es funzen muss geht es net :(
also im explorer oder sonstigen sachen kann ich einwandfrei die listviews auslesen aber bei kazaa komischerweise net :(
obwohl es sogar den selben klassennamen trägt wie im explorer ....
ne doch net ganz das im kazaa ist ne SysTreeView32 und im explorer isses SysListView32.... f*** bitte einer muss mir doch helfen können :(

HILFE !!!!!!!

_________________
-= Ein Compiler tut nicht was man will ... sondern was man schreibt =-
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 09.09.02 23:17 
Sag ich doch das ist ein Treeview. Ich bin doch nicht von vorgestern. :x

Aber das Prinzip beim Treeview müßte das gleiche wie beim Listview sein. Also mußt du dir nur den Source von GrabListview nehmen und entsprechend anpassen. Aber auch das habe ich dir schon geschrieben.

Du hast also alles was du brauchst. Du mußt es nur noch eintippen.
ThEGZA Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 43



BeitragVerfasst: Di 10.09.02 01:48 
wenn ich das programm so umschreibe dann kackt es ab....
da steht im source sowas wie "ich akzeptiere: listview blabla" aber wenn ich das SysTreeView32 hinzufüge kackt es einfach ab. bitte versuch du mal dein glück....vielen dank. :wink:

_________________
-= Ein Compiler tut nicht was man will ... sondern was man schreibt =-
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 10.09.02 02:18 
Dass es nicht einfach ist habe ich ja schon geschrieben. Und da muß wohl mehr angepaßt werden als nur die paar Buchstaben. Ein Treeview kennt ja keine Spalten, wie ein Listview usw. Bedeutet also Arbeit und wohl nicht wenig.

Und Zeit habe ich im Moment keine dafür, habe andere Projekte am laufen.

Desweiteren ließ dir dies bezüglich noch mal deine Signatur durch - recht treffend eigentlich.
ThEGZA Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 43



BeitragVerfasst: Di 10.09.02 09:31 
:lol: hehe das ist ja net wirklich mein spruch das hat immer mein tutor zu mir gesagt wenn ich mal nen fehler gemacht habe :)

_________________
-= Ein Compiler tut nicht was man will ... sondern was man schreibt =-