我在“A窗口”中用PreTranslateMessage(MSG* pMsg)接收键盘消息,接受到以后,想用广播的方式将该消息发到其他窗口中,用SendMessage实现吗?
如何实现?请高手一例指点!

解决方案 »

  1.   

    可以用SendMessage之前你要得到其他各个窗口的Handle
      

  2.   

    通过HWND_BROADCAST广播消息只能将消息发给所有的顶级窗口,而不会发给子窗口的如果某个程序当前输入焦点在EDIT控件中,你只能发给它的父窗口,而它是收不到你的WM_KEYxxx消息的。
    因此,你这么做没有什么实际意义。
      

  3.   

    今天试了一下,我的"A窗口"收到键盘消息后,发送给"B窗口",用的::SendMessage(B_Wnd, WM_KEYDOWN, ..., ...)
    为什么"B窗口"收不到呢?
    能不能指点一下
      

  4.   

    你的B窗口是什么类型的程序?对话框程序是收不到WM_KEYxxx等消息的,只有在PreTranslateMessage中才能收到
    B窗口必须是顶级窗口,广播消息不会发到子窗口