OK, I have got a problem:
There has to be some place where I can store the address of the original WNDPROC. Where should I store it so that my own injected WndProc would be able to call the original one?
Ok, I see, why not dynamically, on-the-fly, modify the injected binaries so that the called address is the VirtualAlloc-ed address?