internal static extern IntPtr SetWinEventHook( SWEH_Events eventMin, SWEH_Events eventMax, IntPtr hmodWinEventProc, WindowHooks.WinEventDelegate lpfnWinEventProc, uint idProcess, uint idThread, SWEH_dwFlags dwFlags);
public static IntPtr WinEventHookOne(SWEH_Events _event, WinEventDelegate _delegate, uint idProcess, uint idThread) { return(UnsafeNativeMethods.SetWinEventHook(_event, _event, IntPtr.Zero, _delegate, idProcess, idThread, WinEventHookInternalFlags)); }
public static IntPtr WinEventHookOne(SWEH_Events _event, WinEventDelegate _delegate, uint idProcess, uint idThread) { new UIPermission(UIPermissionWindow.AllWindows).Demand(); return(UnsafeNativeMethods.SetWinEventHook(_event, _event, IntPtr.Zero, _delegate, idProcess, idThread, WinEventHookInternalFlags)); }
public static IntPtr WinEventHookRange(SWEH_Events eventFrom, SWEH_Events eventTo, WinEventDelegate _delegate, uint idProcess, uint idThread) { return(UnsafeNativeMethods.SetWinEventHook(eventFrom, eventTo, IntPtr.Zero, _delegate, idProcess, idThread, WinEventHookInternalFlags)); }
private void WindowEventCallback(IntPtr hWinEventHook, SWEH_Events eventType, IntPtr hWnd, SWEH_ObjectId idObject, long idChild, uint dwEventThread, uint dwmsEventTime) { if (hWnd == windowHandle) { if (eventType == SWEH_Events.EVENT_OBJECT_LOCATIONCHANGE && idObject == (SWEH_ObjectId)SWEH_CHILDID_SELF) { MoveEvent?.Invoke(this, new MoveEventArgs()); } } }
public static IntPtr WinEventHookOne(SWEH_Events _event, WinEventDelegate _delegate, uint idProcess, uint idThread) { #pragma warning disable SYSLIB0003 // 类型或成员已过时 new UIPermission(UIPermissionWindow.AllWindows).Demand(); #pragma warning restore SYSLIB0003 // 类型或成员已过时 return(UnsafeNativeMethods.SetWinEventHook(_event, _event, IntPtr.Zero, _delegate, idProcess, idThread, WinEventHookInternalFlags)); }
[DllImport("user32.dll", SetLastError = false)] public static extern IntPtr SetWinEventHook(SWEH_Events eventMin, SWEH_Events eventMax, IntPtr hmodWinEventProc, WinEventProc lpfnWinEventProc, uint idProcess, uint idThread, SWEH_dwFlags dwFlags);
private static IntPtr WinEventHookOne(SWEH_Events ev, WinEventDelegate wed, uint idProcess, uint idThread) { new UIPermission(UIPermissionWindow.AllWindows).Demand(); return(SetWinEventHook(ev, ev, IntPtr.Zero, wed, idProcess, idThread, WinEventHookInternalFlags)); }