我写了类,类中有好几个函数。包括了一个窗口过程。
我在类的初始化的时候,隐式(不显示)的创建了一个窗口,此窗口用了我定义的
窗口过程。如果类的其他的函数引起了一个消息(比如说,调用录音的API,当录满
了一个BLOCK时,系统会发一个MM_WIM_DATA消息,),请问我的窗口过程如何得到
该消息。

解决方案 »

  1.   

    SendMessage 或者 PostMessage
      

  2.   

    重载你的窗口过程的DefWindowProc函数,在里面进行判断是否收到了该消息:
    LRESULT CYourWnd::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam) 
    {
    // TODO: Add your specialized code here and/or call the base class
    if( message == MM_WIM_DATA )
    {//获得消息

    return CWnd::DefWindowProc(message, wParam, lParam);
    }
      

  3.   

    可以使用ON_MESSAGE来定义你的自定义消息
      

  4.   

    再问一下我在初始化创建窗口的时候,wndclass的hInstance如何获得
      

  5.   

    HINSTANCE AFXAPI AfxGetInstanceHandle();