public static IntPtr WinEventHookOne(SWEHEvents @event, WinEventDelegate @delegate, uint idProcess, uint idThread)
 {
     return(UnsafeNativeMethods.SetWinEventHook(@event, @event,
                                                IntPtr.Zero, @delegate,
                                                idProcess, idThread,
                                                WinEventHookInternalFlags));
 }
 public static IntPtr WinEventHookRange(SWEHEvents eventFrom,
                                        SWEHEvents eventTo,
                                        WinEventDelegate @delegate,
                                        uint idProcess, uint idThread)
 {
     return(UnsafeNativeMethods.SetWinEventHook(eventFrom, eventTo,
                                                IntPtr.Zero, @delegate,
                                                idProcess, idThread,
                                                WinEventHookInternalFlags));
 }
 public static extern IntPtr SetWinEventHook(SWEHEvents eventMin, SWEHEvents eventMax,
                                             IntPtr hmodWinEventProc, WinEventDelegate lpfnWinEventProc,
                                             uint idProcess, uint idThread, SWEH_dwFlags dwFlags);