《Windows程序设计》之剪贴板查看器

注意的几点问题:

1、WM_DRAWCLIPBOARD 与WM_PAINTCLIPBOARD的区分,WM_PAINTCLIPBOARD是由剪贴板查看器发给使用CF_OWNERDISPLAY剪贴板格式的程序的。

WM_DRAWCLIPBOARD则是由Windows发给当前剪贴板查看器的。

2、当程序想从剪贴板查看器链中退出时,必须调用ChangeClipboardChain,Windows会向当前剪贴板查看器发送一个WM_CHANGECBCHAIN消息。

当程序收到WM_CHANGECBCHAIN消息,则必须检查wParam是否等于你保存的hwndNextViewer值。相等,则把hwndNextViewer设为lParam。这个操作确保将来你得到的任何WM_CHANGECBCHAIN消息不会被发送给从链里退出的那个窗口。(这部分不是太理解)如果wParam不等于hwndNextViewer,并且hwndNextViewer不为NULL,就把消息发送给下一个剪贴板查看器,如果hwndNextViewer值为NULL意味着执行这段代码的程序是链里最后一个剪贴板查看器,在这种情况下,消息不应该再传递。


第二段话不太懂,以后慢慢来理解。

你可能感兴趣的:(windows,null)