问题是这样的。我想要实现在程序的不同窗口之间发送消息。我通过SendMessage(hWnd,WM_XXX,0,0);
其中hWnd是目标窗口的句柄,通过目标窗口中的this->GetSafeHand()得到的,预先赋给想要发送消息的窗口。现在在debug版本中没有一点问题,消息能正确发送和接收。但在release版本中却一到调用SendMessage这个函数时,程序就没有响应了。问题应该在这个函数上,因为当我屏蔽调改消息的响应函数的函数体,程序还是会没有响应,当屏蔽掉SendMessage时,程序就运行正常了。大家是否也曾遇到过这个问题?望大家帮帮忙,给我指点指点,谢谢!
其中hWnd是目标窗口的句柄,通过目标窗口中的this->GetSafeHand()得到的,预先赋给想要发送消息的窗口。现在在debug版本中没有一点问题,消息能正确发送和接收。但在release版本中却一到调用SendMessage这个函数时,程序就没有响应了。问题应该在这个函数上,因为当我屏蔽调改消息的响应函数的函数体,程序还是会没有响应,当屏蔽掉SendMessage时,程序就运行正常了。大家是否也曾遇到过这个问题?望大家帮帮忙,给我指点指点,谢谢!
应该是消息响应函数的格式有问题http://support.microsoft.com/default.aspx?scid=KB;en-us;195032&
afx_msg LRESULT Onxxx(WPARAM wParam, LPARAM lParam);
debug下会对没有写的参数赋初值,堆栈不会出错;release,编译器不处理,函数响应时没有问题,但return的时候就会错误。