Windows还有一个允许程式获得第一个剪贴簿浏览器视窗代号的函式:
一般来说不需要这个函式。如果没有目前的剪贴簿浏览器,则传回值为NULL。
下面是一个说明剪贴簿浏览器链如何工作的例子。当Windows刚启动时,目前剪贴簿浏览器是NULL:
剪贴簿浏览器: NULL
一个具有hwnd1视窗代号的程式呼叫SetClipboardViewer。这个函式传回的NULL成为这个程式中的hwndNextViewer值:
目前剪贴簿浏览器: hwnd1
hwnd1的下一个浏览器: NULL
第二个具有hwnd2视窗代号的程式呼叫SetClipboardViewer ,并传回hwnd1:
目前的剪贴簿浏览器: hwnd2
hwnd2的下一个浏览器: hwnd1
每三个程式 (hwnd3)和第四个程式 (hwnd4) 也呼叫SetClipboardViewer ,并且传回hwnd2和hwnd3:
目前的剪贴簿浏览器: hwnd4
hwnd4的下一个浏览器: hwnd3
hwnd3的下一个浏览器: hwnd2
当剪贴簿的内容发生变化时, Windows发送一个WM_DRAWCLIPBOARD讯息给hwnd4, hwnd4发送讯息给hwnd3,hwnd3发送讯息给hwnd2,hwnd2发送讯息给hwnd1,hwnd1传回。
现在hwnd2决定通过下列呼叫从链中删除自己:
ChangeClipboardChain (hwnd2, hwnd1) ;
Windows将wParam等於hwnd2、lParam等於hwnd1的WM_CHANGECBCHAIN讯息发送给hwnd4。由於hwnd4的下一个测览器是hwnd3,所以hwnd4把这个讯息传给hwnd3。现在hwn