private void SetHook(EventTypeEnum eventMin, EventTypeEnum eventMax = EventTypeEnum.Unknown) { if (eventMax == EventTypeEnum.Unknown) { eventMax = eventMin; } int item = WinApiLocal.SetWinEventHook(eventMin, eventMax, 0, this.DlgWinEventCallback, 0, this._threadId, 0u); this._instHookHandles.Add(item); }
protected override void CleanUp_UnManaged_Resources() { try { DispatcherEx.xInvoke(() => { foreach (int int_ in this._instHookHandles) { WinApiLocal.UnhookWinEvent(int_); } this._instHookHandles.Clear(); }); } catch (Exception e) { Log.Exception(e); } }
private static void SetWinEventHook() { WinApiLocal.SetWinEventHook(EventTypeEnum.EVENT_SYSTEM_FOREGROUND, EventTypeEnum.EVENT_SYSTEM_FOREGROUND, 0, DlgWinEventStaticCallback, 0, 0, 0u); }