得到了一个窗口的句柄后,如何才能根据这个窗口句柄找到这个窗体内控件?如何设置这个窗体内某些控件的属性

得到了一个窗口的句柄后,怎么才能根据这个窗口句柄找到这个窗体内控件?怎么设置这个窗体内某些控件的属性?
如题 

例如使用Findwindow找到窗口句柄HW后,怎么才能找到这个窗口中Memo控件,然后给这个Memo的lines属性赋值呢?

------解决方案--------------------
var
FormHandle, Cpt1: THandle;
begin
FormHandle := FindWindow(nil, PChar('form1'));
if FormHandle <> 0 then
begin
cpt1 := FindWindowEx(FormHandle,0,'TMemo',nil);
if cpt1 <> 0 then
SendMessage(cpt1, WM_SETTEXT, 0, integer(pchar('lines赋值文本'))); // 更改lines
end;
end;
------解决方案--------------------
//下面我试过可以的。
HW:=FindWindow(nil, PChar('form1'));;
begin
hwchild:=findwindowex(hw,0, 'TMemo', nil);
if Hwchild <>0 then
SendMessage(hwchild, WM_SETTEXT, 0, integer(pchar('...... ')))
//setwindowtext(hwchild, '...... ')
else
showmessage( 'null ');
end;
------解决方案--------------------
我在《深入核心VCL》中看到一种非常酷的方法,你给这个Handle发一个消息,然后VCL组件会返回直接返回Self给你。具体是什么消息不记得了,可以去查一下