在关闭窗口的win32 C++编程中,我应该自己调用DestroyWindow(hWnd)还是调用SendMessage(WM_CLOSE,hWnd,0,0)?

bod*_*ydo 11 winapi

ESC在我的应用程序中处理密钥,当收到此密钥时,我希望关闭当前窗口.

我应该简单地打电话DestroyWindow(hWnd)还是应该打电话SendMessage(WM_CLOSE, hWnd, 0, 0),还是应该以某种不同的方式关闭当前窗口?

Ken*_*ite 17

你应该PostMessage(hWnd, WM_CLOSE, 0, 0).它将WM_CLOSE消息放入窗口的消息队列进行处理,窗口可以在消息队列清除时正常关闭.

你应该使用PostMessage而不是SendMessage.不同之处在于,PostMessage只需将消息放入消息队列并返回; SendMessage等待来自窗口的响应,在这种情况下你不需要这样做WM_CLOSE.