non-ActiveX DLL. Needed to trap, forward & process window messages received via a SetWindowHooksEx call. The messages to be trapped are: WH_CALLWNDPROC WH_CALLWNDPROCRET WH_CBT WH_GETMESSAGE WH_KEYBOARD WH_MOUSE WH_MSGFILTER WH_SHELL The DLL name will be [login to view URL] and the logic of the DLL is as follows: Functions to recieve a supplied target thread for hooking/unhooking. Hooker returns a value of the hook ID and unhooker returns a boolean. a. The hooking function (Install Hook) would require an external module address to forward messages to, a thread ID to attach itself to, and a message hook type (see above). b. If the returned hook message value < 0 then pass along hook immediately with a CallNextHookEx and not inform external module. c. If hook message not < 0, then the DLL waits on a response from the external procedure prior to responding with the required CallNextHookEx call. The external module should be called using either a CallWindowProc (preferred) or a SendMessage call, relaying following info to the module: call back's nCode, wParam, & lParam. If SendMessage is only option, then the "Install Hook" routine won't need a module address parameter. d. The unhooker would require only a Hook ID parameter. All hooks will be thread specific, not global and using a shared DLL section will be necessary.
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. A short sample used in VB would is also requested, but not mandatory. 2) Complete ownership and distribution copyrights to all work purchased.
## Platform
Win 95 & up to include NT4 & up. Compatible DLL for all languages (i.e., DLL must not just be compatible with C++ applications).