当另一个窗口从剪贴板查看器链中删除时,剪贴板查看器窗口将收到WM_CHANGECBCHAIN消息。如果要删除的窗口是链中的下一个窗口,则接收消息的窗口必须取消链接下一个窗口。否则,该消息应该传递到链中的下一个窗口。
以下示例显示了WM_CHANGECBCHAIN消息的处理。
case WM_CHANGECBCHAIN:
//如果下一个窗口关闭,修复链。
if ((HWND) wParam == hwndNextViewer)
hwndNextViewer = (HWND) lParam;
//否则,将消息传递到下一个链接。
else if (hwndNextViewer != NULL)
SendMessage(hwndNextViewer, uMsg, wParam, lParam);
break;