有三个窗口:父窗口A,A的子窗口B,另外的独立于A和B的窗口C。消息的传播方式本来是这样的:窗口B的消息发送到窗口A,然后由A来处理。现在的需求是,有没有一个API函数,可以使窗口B的消息直接发送到C,由C来处理?A和B实际上是一个OCX控件里的,C是自己写的;想要B发生某些事件时,除了原控件里A对B的操作之外,另外加入一些自己的效果。如果用SetParent函数将B的父窗口改为C,那么A就无法操纵B了。现在的办法是,用SetWindowSubclass子类化A,在自定义的回调函数MyWndProc中,区分A自己的消息和B发送过来的消息;然后再将B的消息转发到C。可是这样一来,效率就不可避免的受到很大影响,因为A的消息狂多。可不可以实现这样的想法:B仍然是A的子窗口,但它的消息却发送给另外一个窗口C,在C处理之后再转发到A中?