Bo tekst można pobrać tylko z kontrolek edycyjnych, a nie wiem jak są traktowane te w Wordzie, bo używam
Open Office na codzień. Możliwe też, że wszystkie kontrolki w oknie są pod jedną klasą i uchwytem - tak jak
ma to miejsce w Operze na przykład. Jeżeli chcesz wyciągnąć tekst z kontrolki, z ktorej się da go wyciągnąć,
a jest ona na innym oknie rodzicu to użyej EnumChildWindows, przykłady są w google. Natomiast pobranie
tekstu z kontrolki (da się nawet z Panelu w Delphi albo Labela - jak teraz się upewniłem) to zrobisz kodem:
//...
var
ControlText : array[0..255] of Char;
begin
//....
SendMessage(AHandle, WM_GETTEXT, SizeOf(ControlText), integer(@ControlText));
//...
end;
I w zmiennej CóntrolText będzie tekst z kontrolki. Można zwiększyć wielkośc tej tablicy, ale sprawdziłem w
tej chwili i z OpenOffice nie da się tak pobrać tekstu, bo wszystkie elementy okna programu są widoczne, a
przynajmniej w prostym podglądaczu TDWinInfo, jako jedno okno, z taką samą nazwą klasy. A w starszych
wersjach GG dało się wyodrębnić komponenty w oknie rozmowy, nie wiem jak teraz bo GG ssie od dawna i
zacząłem używać AQQ, w którym również elementy okna rozmowy są osobno, ale to dlatego, że AQQ jest
napisane w Delphi. W przypadku większości aplikacji tekst da się wyciągnąć, lecz bywają też właśnie takie, w
w ktorych tego zrobić się nie da. Jeżeli chcesz wyciągać dane akurat z Worda to służą do tego metody OLE.