Forum: Win32/Win64 API (native code)
Delphi
by jaenicke,
14. Apr 2009
Passiert nix, oder was passiert (nicht)?
Forum: Win32/Win64 API (native code)
Delphi
by jaenicke,
14. Apr 2009
Ich würde das in die Callbackprozedur legen oder von da aus eine andere mit dem Fensterhandle als Parameter aufrufen. ;-)
Forum: Win32/Win64 API (native code)
Delphi
by jaenicke,
13. Apr 2009
Genau, und wie das geht steht ja in seinem eigenen Link bereits drin, nur dass dort die gefundenen Fensterdaten eben ausgegeben und nicht ausgewertet werden.
Das ist ja fast wie ein Chat. :mrgreen:
Forum: Win32/Win64 API (native code)
Delphi
by jaenicke,
13. Apr 2009
Naja, schon, aber es geht doch soweit ich das verstanden habe um das selbe Programm und ggf. mehrere Instanzen davon.
Und deshalb kommt man mit FindWindow eben nicht weiter, weil man da zwar den Fenstertitel weglassen kann, wenn der unterschiedlich ist, es aber nur das erste passende Fenster findet.
Forum: Win32/Win64 API (native code)
Delphi
by jaenicke,
13. Apr 2009
Also dass der auch unterschiedlich sein wird, bezweifle ich einmal, der Fenstertitel ist ja logisch, aber der Klassenname sollte wohl gleich bleiben.
Außerdem wurde davon nix gesagt. Wenn das auch der Fall wäre, wäre es natürlich über die Prozesse von hintenherum am sinnvollsten, da gebe ich dir Recht.
Forum: Win32/Win64 API (native code)
Delphi
by jaenicke,
13. Apr 2009
Aber es geht doch um das Auslesen von Daten aus Fenstern mehrerer Instanzen eines Programms. :gruebel:
Das geht über EnumWindows doch sinnvoller würde ich sagen.
Forum: Win32/Win64 API (native code)
Delphi
by jaenicke,
13. Apr 2009
Genau das steht in deinem ersten Link unter EnumWindows schon drin... :roll:
Nur dass du die Klasse nicht auflisten sondern mit deiner gesuchten Klasse vergleichen willst...
Forum: Win32/Win64 API (native code)
Delphi
by jaenicke,
13. Apr 2009
Wie wäre es mit EnumWindows + GetClassName?
// EDIT1:
Nebenbei: Wozu suchst du die selben Handles zweimal? Das ist doch das selbe wie so: handle1 := FindWindow('wxWindowClassNR', 'WheresMyChar');
handle1 := FindWindowEx(handle1, 0, 'wxWindowClassNR', 'ID_PANEL1');
handle1 := FindWindowEx(handle1, 0, 'wxWindowClassNR', 'ID_PANEL2');
handle2 := GetDlgItem(handle1, 534);
...