APIHijack - A Library for Easy DLL Function Hooking
This code is intended to be included in a DLL inserted through a global Windows Hook (CBT hook for example). It will replace functions from other DLLs (e.g. DDRAW.DLL) with functions from your DLL.
Functions are hooked by passing a parameter structure to the HookAPICalls() function as follows: Click here to see the code.
Now all that remains is to get your DLL loaded into the target process. The MSDN has a few good articles on Windows hooks, which are the preferred way to get an arbitrary DLL loaded into a process:
Also, the article from which this code is based shows another way to do it, which involves loading the process to be hooked as a debug target:
DownloadsDownload source code - 4 Kb