dll向主程序sendmessage时,如果焦点在主程序上则可以发送成功,如果焦点不在主程序上,或者将主程序最小化时,则发送不成功。请问各位大侠是什么原因,要怎样解决呢。
    小菜鸟先谢过了,^_^

解决方案 »

  1.   

    某些消息(如键盘消息)在窗口无焦点时会被自动忽略的,因此不要指望只要SendMessage就会被处理
      

  2.   

    我是在钩子的dll中向主程序发送消息,当鼠标点下左键的时候,钩子将截取到的鼠标坐标信息发送给主窗口,如果焦点在主窗口的话可以收到,不在的话就收不到了  各位大侠帮帮忙呀
      

  3.   


    自定义消息,和目的窗口是否ACTIVE没关系,看看代码
      

  4.   

    当获得焦点的时候MessageBox(cs)可以执行,失去焦点就不能执行了。
    主要的代码如下:
    钩子中的发送:
    if(wParam==WM_LBUTTONDOWN ) //鼠标左键键落下
    { if (g_ctrdowm==true)
    {
    SendMessage(g_hWnd,WM_POINTS_XY,pMouseHook->pt.x,pMouseHook->pt.y);
    }
    }主程序中消息处理函数中的验证是否收到的代码: int x=(int)wParam;
    int y=(int)lParam; CString cs;
    cs.Format("x=%d,y=%d",x,y);
    MessageBox(cs);
      

  5.   

    消息处理函数贴全,包括声明,你关联的是WM_POINTS_XY这个消息吧?