当前位置:编程学习 > VC++ >>

VC++关于WM_CLOSE消息的问题,高分求解答

if(VK_F2==wParam) { ::SendMessage(g_wnd,WM_CLOSE,wParam,lParam); UnhookWindowsHookEx(hkey); } 如上所示,当程序运行到sendmessage时,程序应该已经关闭了啊,为啥还会执行后面的UnhookWindowsHookEx(hkey)语句呢?
追问:我设置断点试过了,执行完了send还会执行下一句的。孙鑫C++书里写的我查了msdn,我知道了,这个sendmessage之后,调用了destroywindow()函数,只是把窗口给弄无效了,还关闭了一些相关的定时器之类的,但是这个窗口在内存中仍然存在,实际上没有销毁呢,阻塞结束后还会继续运行后面的语句,直到运行析构函数释放内存才会结束,哈哈,还是我厉害。The SendMessage function sends the specified message to a window or windows. It calls the window procedure for the specified window and does not return until the window procedure has processed the message. 
这是我查的msdn,人家说这个函数是处理完了消息才会返回,那么处理完消息的意思的就程序结束了啊,为啥还会运行下一句呢不懂就别胡说八道
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,