Entwickler-Ecke
Windows API - EnumWindows falsch benutzt?
5M17H - Mo 02.07.07 19:07
Titel: EnumWindows falsch benutzt?
EnumWindows(@TProgramme.ProgrammnamenAusgeben,0);
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| function TProgramme.ProgrammnamenAusgeben(Wnd: THandle; LParam: Integer): Boolean; var Laenge : Integer; Text : String; rueck: boolean; begin Rueck := true; laenge := GetWindowTextLength(Wnd); SetLength(Text, laenge); GetWindowText(Wnd, PChar(Text), laenge+1); if trim(Text) <> '' then form1.memo2.lines.add(text); result := rueck; end; |
Wieso ist 'wnd' immer der gleiche wert? Benutze ich EnumWindows falsch oder was?
Moderiert von
Christian S.: Topic aus Sonstiges (Delphi) verschoben am Mo 02.07.2007 um 19:08
Dezipaitor - Mo 02.07.07 19:42
Soweit ich weiß, darfst du keine Methode verwenden, sondern musst eine normale Funktion verwenden, die zudem noch stdcall am Ende stehen hat.
Über LPARAM kannst du ja den Instanzpointer übergeben.
5M17H - Mo 02.07.07 20:33
Äh entschuldigung.
Aber ich habe von deinem Post sowenig wie 1 wort verstanden. function. Kannst du bitte etwas 'unprofesioneller' reden damit ichs verstehe :oops: :lol: 8)
Chryzler - Mo 02.07.07 20:48
5M17H hat folgendes geschrieben: |
Äh entschuldigung.
Aber ich habe von deinem Post sowenig wie 1 wort verstanden. function. Kannst du bitte etwas 'unprofesioneller' reden damit ichs verstehe :oops: :lol: 8) |
So in etwa:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| function ProgrammnamenAusgeben(Wnd: THandle; LParam: Integer): Boolean; stdcall; var Laenge : Integer; Text : String; rueck: boolean; begin Rueck := true; laenge := GetWindowTextLength(Wnd); SetLength(Text, laenge); GetWindowText(Wnd, PChar(Text), laenge+1); if trim(Text) <> '' then form1.memo2.lines.add(text); result := rueck; end; |
Delete - Mo 02.07.07 22:23
Zur Erklärung: methoden habe imme rnoch den unsichtabren Self-Paramter. Somit würden bei der Callback Funktion als Methode die Paramter nicht mehr stimmen, da der Self-Parameter noch dazu kommt.
5M17H - Mo 02.07.07 22:32
Jungs ihr seid die größten.... DANKE
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!