问题是这样的。我想要实现在程序的不同窗口之间发送消息。我通过SendMessage(hWnd,WM_XXX,0,0);
其中hWnd是目标窗口的句柄,通过目标窗口中的this->GetSafeHand()得到的,预先赋给想要发送消息的窗口。现在在debug版本中没有一点问题,消息能正确发送和接收。但在release版本中却一到调用SendMessage这个函数时,程序就没有响应了。问题应该在这个函数上,因为当我屏蔽调改消息的响应函数的函数体,程序还是会没有响应,当屏蔽掉SendMessage时,程序就运行正常了。大家是否也曾遇到过这个问题?望大家帮帮忙,给我指点指点,谢谢!

解决方案 »

  1.   

    这个不应该吧,我把整个这个消息的响应函数内容全屏蔽了还是有问题的,但是把发送消息的语句屏蔽掉就没有问题了。出现的问题是内存不能为读。大家帮我想想办法,我做了一个简单的工程测试还是会有这样的问题。大侠你可以就一个简单的工程,在release的版本中测试一下,如果没有问题的话,麻烦你把代码发给我[email protected]谢谢!
      

  2.   

    WM_XXX 是自定义消息吧!
    应该是消息响应函数的格式有问题http://support.microsoft.com/default.aspx?scid=KB;en-us;195032&
     
      

  3.   

    老问题了,消息的映射函数格式不规范
    afx_msg LRESULT Onxxx(WPARAM wParam, LPARAM lParam);
      

  4.   

    你的消息映射函数怎么写的?一定要有参数,符合(WPARAM wParam, LPARAM lParam);,否则release会出错。
    debug下会对没有写的参数赋初值,堆栈不会出错;release,编译器不处理,函数响应时没有问题,但return的时候就会错误。