Du musst bedenken, dass das Log-Window noch auf einem Panel ist, also nicht direkt ein Child des Main-Windows ist.
Ich habe mir das auch irgendwann mit WinSpy gesucht und dann daraus diese Funktion gebastelt:
Delphi-Quellcode:
function FindWindowEx2(hParent: HWND; ChildClassName: string; ChildNr: Word): HWND;
var
i: Word;
hChild: HWND;
begin
hChild := 0;
Result := 0;
ChildNr := ChildNr - 1;
for i := 0 to ChildNr do
begin
hChild := FindWindowEx(hParent, hChild, PChar(ChildClassName), nil);
if hChild = 0 then
Exit;
Result := hChild;
end;
end;
function FindTS2LogHandle: THandle;
var
Form, Panel: THandle;
begin
Form:=FindWindow('TMainForm', 'TeamSpeak 2');
Panel:=FindWindowEx2(Form, 'TPanel', 2);
Result := FindWindowEx(Panel, 0, 'TRichEditWithLinks', NIL);
end;