public static void InstallWindowsEventHooks() { hCreate = WinAPIs.SetWinEventHook(Constants.EventConstants.EVENT_OBJECT_CREATE, Constants.EventConstants.EVENT_OBJECT_CREATE, Hooks.RunningDLLInstance, create, 0, 0, (uint)(Constants.Contexts.WINEVENT_INCONTEXT | Constants.Contexts.WINEVENT_SKIPOWNPROCESS)); hDestroy = WinAPIs.SetWinEventHook(Constants.EventConstants.EVENT_OBJECT_DESTROY, Constants.EventConstants.EVENT_OBJECT_DESTROY, Hooks.RunningDLLInstance, destroy, 0, 0, (uint)(Constants.Contexts.WINEVENT_INCONTEXT | Constants.Contexts.WINEVENT_SKIPOWNPROCESS)); hShow = WinAPIs.SetWinEventHook(Constants.EventConstants.EVENT_OBJECT_SHOW, Constants.EventConstants.EVENT_OBJECT_SHOW, Hooks.RunningDLLInstance, show, 0, 0, (uint)(Constants.Contexts.WINEVENT_INCONTEXT | Constants.Contexts.WINEVENT_SKIPOWNPROCESS)); hSelect = WinAPIs.SetWinEventHook(Constants.EventConstants.EVENT_OBJECT_SELECTION, Constants.EventConstants.EVENT_OBJECT_SELECTION, Hooks.RunningDLLInstance, select, 0, 0, (uint)(Constants.Contexts.WINEVENT_INCONTEXT | Constants.Contexts.WINEVENT_SKIPOWNPROCESS)); hMinimize = WinAPIs.SetWinEventHook(Constants.EventConstants.EVENT_SYSTEM_MINIMIZESTART, Constants.EventConstants.EVENT_SYSTEM_MINIMIZESTART, Hooks.RunningDLLInstance, minimize, 0, 0, (uint)(Constants.Contexts.WINEVENT_INCONTEXT | Constants.Contexts.WINEVENT_SKIPOWNPROCESS)); hMinimizeEnd = WinAPIs.SetWinEventHook(Constants.EventConstants.EVENT_SYSTEM_MINIMIZEEND, Constants.EventConstants.EVENT_SYSTEM_MINIMIZEEND, Hooks.RunningDLLInstance, minimizeEnd, 0, 0, (uint)(Constants.Contexts.WINEVENT_INCONTEXT | Constants.Contexts.WINEVENT_SKIPOWNPROCESS)); hMoveSize = WinAPIs.SetWinEventHook(Constants.EventConstants.EVENT_SYSTEM_MOVESIZESTART, Constants.EventConstants.EVENT_SYSTEM_MOVESIZESTART, Hooks.RunningDLLInstance, move, 0, 0, (uint)(Constants.Contexts.WINEVENT_INCONTEXT | Constants.Contexts.WINEVENT_SKIPOWNPROCESS)); hMoveSizeEnd = WinAPIs.SetWinEventHook(Constants.EventConstants.EVENT_SYSTEM_MOVESIZEEND, Constants.EventConstants.EVENT_SYSTEM_MOVESIZEEND, Hooks.RunningDLLInstance, moveEnd, 0, 0, (uint)(Constants.Contexts.WINEVENT_INCONTEXT | Constants.Contexts.WINEVENT_SKIPOWNPROCESS)); }