Entwickler-Ecke

Windows API - FindWindowEx Logik


toms - Fr 12.11.04 21:06
Titel: FindWindowEx Logik
Hey!

Habe ein kleines Problem mit der FindWindowEx() Funktion.
Ich ermittle von einem ChildControl das Parent Handle mittels GetParent
und suche dann später das ChildControl anhand der FindWindowEx() wieder.

Aber: Er findet es nicht! FindWindowEx() gibt immer null zurück! Warum?

Evtl mache ich einen Logik Fehler.



Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
var
 p1, p2: PChar;
 wndChild, 
 wndParent : HWND;
begin
  
 wndChild := ... // ein gültiges Handle zuweisen

  // Parent von wndChild ermitteln
  wndParent := GetParent(wndChild);
  
  p1 := PChar(_GetClassName(wndChild)); // _GetClassName() liefert den KlassenNamen von einem Handle
  p2 := PChar(_GetWinText(wndChild)); // _GetWinText() liefert den Text von einem Handle

  // das ChildControl suchen
  wndChild := FindWindowEx(wndParent, 0, p1, p2); // <--- gibt immer 0 zurück!
end;