一个关于窗口句柄操作按键无效的有关问题。请大家快来帮帮忙

一个关于窗口句柄操作按键无效的问题。请大家快来帮帮忙。
代码如下:
procedure   TForm1.Button1Click(Sender:   TObject);
var
    pTel   :   PChar;
begin
    //输号码窗口
    hDial   :=   findwindow( 'TFrmPBarDialPanel ', '拨出... ');
    //外拨等待窗口
    hResp   :=   findwindow( 'TFrmPBarWaitResponse ', '拨出... ');
    if   hDial   =   0   then   showmessage( '未发现拨出窗口 ')
    else
    begin
        HTelEdit   :=   FindWindowEx(hDial,   0,   'TComboBox ',   nil);
        HCallButton:=   FindWindowEx(hDial,   0,   'TMusicBtn ',   '拨出 ');
        if   HCallButton=0   then
        begin
            showmessage( '未发现拨出按钮 ');
            exit;
        end;
        pTel   :=   stralloc(8*sizeof(Char))   ;
        strpcopy(pTel, '88888888 ');
        SendMessage(HTelEdit,   WM_SETTEXT,   0,   Integer(pTel));
        POSTMESSAGE(HCallButton,   WM_LBUTTONDOWN,   0,   0);
        POSTMESSAGE(HCallButton,   WM_LBUTTONUP,   0,   0);
    end;
end;
可是我按了“拨出”键后,根本不响应开始拨出电话。
可是如果我把“拨出...”的窗体先激活再按Button就可以拨出!我感觉好像
窗体要先做一个什么操作就是找不到怎么做。我给窗体发送了WM_SETFOCUS、WM_ENABLE、WM_ACTIVATE都没用。请高手帮帮忙。

------解决方案--------------------
SendMessage(HTelEdit, WM_SETTEXT, 0, Integer(pTel));
SendMessage(ComboBox1.Handle, CN_COMMAND, MakeLong(0, CBN_EDITCHANGE), 0); // < < <触发OnChange事件
POSTMESSAGE(HCallButton, WM_LBUTTONDOWN, 0, 0);
POSTMESSAGE(HCallButton, WM_LBUTTONUP, 0, 0);
------解决方案--------------------
做了个程序模拟,没问题。是不是 "拨出 "按钮中有其他判断啊。
------解决方案--------------------
对按钮发送点击事件,采用这个方法看看呢?

SendMessage(HCallButton,BM_CLICK,0,0)