If you only need to hook inside your own process the you can look at Detours library. I recently included it in my Cromis library with the consent of the author.
You can find it here. Just download the whole lib and use Cromis.Detours. It works on 32 and 64 bit and is very well written.