为什么程序不能发送到前台一个应用窗体的控件里面?该怎么处理

为什么程序不能发送到前台一个应用窗体的控件里面?
Private   Const   WM_SETTEXT   =   &HC

Private   Function   sendmesStr(sStr   As   String)   As   String
Dim   FT_hWnd   As   Long
Dim   ID_Control_hWnd   As   Long
Dim   strTitle   As   String
              strTitle   =   Space(255)   '定义接收字串      
    FT_hWnd   =   GetForegroundWindow      '   FT_hWnd   is   the   handle   to   the   foreground   window  'FT_hWnd   =   FindWindow( "ThunderRT6FormDC ",   "228X ")    
              GetWindowText   FT_hWnd,   strTitle,   1024
              If   Left(Replace(strTitle,   "   ",   " "),   4)   =   "228X "   Then
                        ID_Control_hWnd   =   FindWindowEx(FT_hWnd,   0,   "RICHEDIT ",   vbNullString)   'GR_Execution_Class                
                          SendMessage   ID_Control_hWnd,   WM_SETTEXT,   0,   ByVal   sStr
                           
              End   If
End   Function

为什么调用此函数以后,程序不能按自己所愿往前台窗口发送字符串?如:sStr= "Input   error,Please   input   again! "实际上是运行后台程序以后,提示Microsoft那种发送或者不发送错误,然后后台程序自动关闭>
我用记事本命名为前台窗口,是可以的,但是到实际应用程序就不行,请教各位高手是我程序问题?还是那个前台程序在编写时就对窗口加了什么设置了?


------解决方案--------------------
你先用spy取得目标句柄和你程序中的ID_Control_hWnd 对比一下,我估计是你的句柄取的不对,如果句柄没错的话,则可能是目标是对 WM_SETTEXT 消息做出了拦截处理,这时候,可以考虑利用vb的sendkeys语句实现你想要的功能
------解决方案--------------------

1、SendMessage可以取字符,你可以先取回来,连接上要追加的再用你当前的方法发送过去。虽然看着步骤不少,但瞬间完成,应该看不出来你怎么做的。
2、修改你发送消息时的常数WM_SETTEXT = &HC,改为追加。。。(想法而已,哈哈,我不知道有没有这个常数)