Quote Originally Posted by Notsosuperhero View Post
GetProcAddress(hinstDLL, L"MyMouseProc");

You aren't assigning anything this. You need assign the function pointer.

Code:
hkprcSysMsg = (HOOKPROC)GetProcAddress(hinstDLL, L"MyMouseProc");
You just need to cast the GetProcAddress to whatever your function prototype is, you can define your own function pointers for this.
What you were doing is just loading the procedure but it wasn't stored anywhere. Now you call hkprcSysMsg like you would the DLL function itself.
I have tried this but doesn't helped , so i removed it but of no use.