Окно добавляет себя к цепочке окон просмотра буфера обмена, вызывая функцию SetClipboardViewer. Возвращаемое значение - дескриптор следующего окна в цепочке. Окно должно следить за этим значением - например, при помощи сохранения его в статической переменной называемой hwndNextViewer.
Следующий пример добавляет окно к цепочке окон просмотра буфера обмена в ответ на сообщение WM_CREATE.
case WM_CREATE: // Добавление окна к цепочке окон просмотра буфера обмена. hwndNextViewer = SetClipboardViewer(hwnd); break;