用SendMessage()试一下,
SendMessage()直到Hwnd收到到消息才返回,而PostMessage()不会等窗口收到就返回,

解决方案 »

  1.   

    把程序写详细点,你的PostMessage()是不是放在线程里了,如果是的话,
    PostMessage过一次后要阻塞线程
      

  2.   

    消息处理函数好象只有一个msg变参,Handled是做什么用的?
      

  3.   

    我想应该是标识此msg是否已被处理过,你试一下就知了
      

  4.   

      h:=findwindow('TFMain','调试窗口');
      if h>0 then
      begin
        strmove(NameBuf,pchar(Edit1.Text),Length(Edit1.Text));
        strmove(DataBuf,pchar(Edit2.Text),Length(Edit2.Text));
    //    SendMessage(h,Msg,0,0);//收不到消息
        PostMessage(h,Msg,0,0);//收到消息
    //  PostMessage(HWND_BROADCAST,Msg,0,0);//收到两次消息
      end;
      

  5.   

    调试窗口:
    procedure TFMain.AppMsg(var Msg: TMsg;var Handled :Boolean);
    begin
      if Msg.message=MsgID then
      begin
        GetData;
        Handled := True;
      end;
    end;procedure TFMain.FormCreate(Sender: TObject);
    begin
      Application.OnMessage:=AppMsg;
    end;
      

  6.   

    小新、一两、chechy、X度空间、老鱼。
    你们都不在吗?
      

  7.   

    我觉得是否是你
    发送这个消息
    一个是发送到了windwos消息队列中
    另外一个发送到了本人?
    如果是这样的话可能会接收两次