"Robert Shearman" rob@codeweavers.com wrote:
This is impossible. You can only subclass using a window with a different class name or a window of the same class name with the previous class unregistered and using the old window proc with identical class attributes. Since the class name is the same for both the old user32 controls and the new comctl32 controls then the first method cannot be used. Since the old window proc is not exported from user32 (and with good reason) the second cannot be used.
SetClassLongPtr(GCLP_WNDPROC) in the CBT(HCBT_CREATEWND) hook set by comctl32 on DLL attach would suffice I think.