You can use a WindowProc callback in C++ for any HWND
.
For full details and options (there are quite a few ways to do this in the WIndows API), see Using Windows Procedures. The closest to your C# option would be to Subclass a Window. Note that the new, improved mechanism to subclass a Window is to use SetWindowSubclass.