A system-wide hook is loaded by multiple processes that don't share the same address space.
Hook handle sg_hGetMsgHook, that is obtained by SetWindowsHookEx () and is used as parameter in CallNextHookEx () must be used virtually in all address spaces.