bsp; case WM_CREATE:
//将本窗口注册到Clipboard Viewer Chain,
//并保存Clipboard Viewer Chain中下一个窗口的句柄
hwndNextViewer = SetClipboardViewer(hWnd);
break;
case WM_CHANGECBCHAIN: //Clipboard Viewer注销
//如果注销的Clipboard Viewer窗口是本窗口的下一个窗口,
//则修改本窗口保存的下一个窗口句柄,
//否则将该消息传递到Clipboard Viewer Chain的下一个窗口
if ((HWND) wParam == hwndNextViewer)
hwndNextViewer = (HWND) lParam;
else if (hwndNextViewer != NULL)
SendMessage(hwndNextViewer, message, wParam, lParam);
break;
case WM_DRAWCLIPBOARD: //剪贴板内容变化
//触发ON_PAINT显示URL内容
InvalidateRect(hWnd, NULL, TRUE);
UpdateWindow(hWnd);
//否则将该消息传递到Clipboard Viewer Chain的下一个窗口
SendMessage(hwndNextViewer, message, wParam, lParam);
break;
case WM_DESTROY:
//从Clipboard Viewer Chain注销本窗口
ChangeClipboardChain(hWnd, hwndNextViewer);
PostQuitMessage(0);
break;
//----------------------------------------------------------------
case WM_COMMAND:
wmId = LOWORD(wParam