How to set global hook for WH_CALLWNDPROCRET ?
- by user261882
Hello
I want to set global hook that tracks which application is active. 
In my main program I am doing the foloowing :
HMODULE mod=::GetModuleHandle(L"HookProcDll");
HHOOK rslt=(WH_CALLWNDPROCRET,MyCallWndRetProc,mod,0);
The hook procedure which is called MyCallWndRetProc exists in separate dll called HookProcDll.dll. The hook procedure is watching for WM_ACTIVATE message. 
The thing is that the code stucks in the line where I am setting the hook, i.e in the line where I am calling ::SetWindowsHookEx. And then Windows gets unresponsive, my task bar disappears  and I am left with empty desktop. Then I must reset the computer. 
What am doing wrong, why Windows get unresponsive ? and 
Do I need to inject HookProcDll.dll in every process in order to set the global hook, and how can I do that ?