/// <summary> /// /// </summary> /// <param name="hWnd"></param> public MessageHook(IntPtr hWnd, uint threadId) { this.hWnd = hWnd; _threadId = threadId; cachedHook = WndProcHook; CreateHook(); }
public HTCNavSensor(Control control) { this.myHandler = new WndProcHandler(this.WndProc); this.myControl = control; HTCNavOpen(control.Handle, 1); HTCNavSetMode(control.Handle, HTCAPIMode.Gesture); this.myOldWndProc = SetWindowLong(control.Handle, WindowLong.GWL_WNDPROC, Marshal.GetFunctionPointerForDelegate(this.myHandler)); }
public HTCNavSensor(Control control) { this.myHandler = new WndProcHandler(this.WndProc); this.myControl = control; HTCNavOpen(control.Handle, 1); HTCNavSetMode(control.Handle, HTCAPIMode.Gesture); this.myOldWndProc = SetWindowLong(control.Handle, WindowLong.GWL_WNDPROC, Marshal.GetFunctionPointerForDelegate(this.myHandler)); }
public HTCNavSensor(Form form) { myHandler = new WndProcHandler(WndProc); myForm = form; myOldWndProc = SetWindowLong(form.Handle, WindowLong.GWL_WNDPROC, Marshal.GetFunctionPointerForDelegate(myHandler)); int ret = HTCNativeMethods.HTCNavOpen(form.Handle, HTCNativeMethods.HTCNavOpenAPI); ret = HTCNativeMethods.HTCNavSetMode(form.Handle, HTCAPIMode.Gesture); }
/// <summary> /// /// </summary> /// <param name="hWnd"></param> public MessageHook(IntPtr hWnd, uint threadId) { this.hWnd = hWnd; _threadId = threadId; cachedHook = WndProcHook; CreateHook(); }
public HTCNavSensor(Form form) { myHandler = new WndProcHandler(WndProc); myForm = form; myOldWndProc = SetWindowLong(form.Handle, WindowLong.GWL_WNDPROC, Marshal.GetFunctionPointerForDelegate(myHandler)); int ret = HTCNativeMethods.HTCNavOpen(form.Handle, HTCNativeMethods.HTCNavOpenAPI); ret = HTCNativeMethods.HTCNavSetMode(form.Handle, HTCAPIMode.Gesture); }
protected MessageHook(IntPtr hWnd) { _wnd = hWnd; _hook = WndProcHook; _prevWndProc = (IntPtr)NativeMethods.SetWindowLong( hWnd, NativeConstants.GWL_WNDPROC, (int)Marshal.GetFunctionPointerForDelegate(_hook)); _hIMC = NativeMethods.ImmGetContext(_wnd); Application.AddMessageFilter(new InputMessageFilter(_hook)); }
public MessageHook(IntPtr hWnd) { HWnd = hWnd; m_Hook = WndProcHook; m_PrevWndProc = (IntPtr)NativeMethods.SetWindowLong( hWnd, NativeConstants.GwlWndproc, (int)Marshal.GetFunctionPointerForDelegate(m_Hook)); m_HImc = NativeMethods.ImmGetContext(HWnd); new InputMessageFilter(m_Hook); }
public MessageHook(IntPtr hWnd) { HWnd = hWnd; m_Hook = WndProcHook; m_PrevWndProc = (IntPtr)NativeMethods.SetWindowLong( hWnd, NativeConstants.GwlWndproc, (int)Marshal.GetFunctionPointerForDelegate(m_Hook)); m_HImc = NativeMethods.ImmGetContext(HWnd); new InputMessageFilter(m_Hook); }
public MessageHook(IntPtr hWnd) { m_hWnd = hWnd; m_Hook = WndProcHook; m_prevWndProc = (IntPtr)NativeMethods.SetWindowLong( hWnd, NativeConstants.GWL_WNDPROC, (int)Marshal.GetFunctionPointerForDelegate(m_Hook)); m_hIMC = NativeMethods.ImmGetContext(m_hWnd); new InputMessageFilter(m_Hook); }
public MessageHook(IntPtr hWnd) { m_hWnd = hWnd; m_Hook = WndProcHook; m_prevWndProc = (IntPtr)NativeMethods.SetWindowLong( hWnd, NativeConstants.GWL_WNDPROC, (int)Marshal.GetFunctionPointerForDelegate(m_Hook)); m_hIMC = NativeMethods.ImmGetContext(m_hWnd); new InputMessageFilter(m_Hook); }
public InputMessageFilter(WndProcHandler hook) { m_Hook = hook; Application.AddMessageFilter(this); }
public static extern IntPtr SetWindowsHookEx(int hookType, WndProcHandler callback, IntPtr hMod, uint dwThreadId);
private void CreateWindow(string className) { if (className == null) { throw new Exception("class_name is null"); } if (className == String.Empty) { throw new Exception("class_name is empty"); } _wndProcDelegate = CustomWndProc; gcHandle = GCHandle.Alloc(_wndProcDelegate); WNDCLASS windClass = new WNDCLASS { lpszClassName = className, lpfnWndProc = Marshal.GetFunctionPointerForDelegate(_wndProcDelegate) }; ushort classAtom = User32.RegisterClassW(ref windClass); int lastError = Marshal.GetLastWin32Error(); if (classAtom == 0 && lastError != ERROR_CLASS_ALREADY_EXISTS) { throw new Exception("Could not register window class"); } const UInt32 extendedStyle = (UInt32)( WindowExStyles.WS_EX_LEFT | WindowExStyles.WS_EX_LTRREADING | WindowExStyles.WS_EX_RIGHTSCROLLBAR | WindowExStyles.WS_EX_TOOLWINDOW); const UInt32 style = (UInt32)( WindowStyles.WS_CLIPSIBLINGS | WindowStyles.WS_CLIPCHILDREN | WindowStyles.WS_POPUP); var owner = User32.GetWindow(_parentHandle, 4); // Create window _handle = User32.CreateWindowExW( extendedStyle, className, className, style, 0, 0, 0, 0, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero ); if (_handle == IntPtr.Zero) { return; } uint styles = User32.GetWindowLong(_handle, GetWindowLongFlags.GWL_EXSTYLE); styles = styles | (int)WindowExStyles.WS_EX_LAYERED | (int)WindowExStyles.WS_EX_NOACTIVATE | (int)WindowExStyles.WS_EX_TRANSPARENT; User32.SetWindowLong(_handle, GetWindowLongFlags.GWL_EXSTYLE, styles); }
private void CreateWindow(string className) { if (className == null) { throw new Exception("class_name is null"); } if (className == String.Empty) { throw new Exception("class_name is empty"); } _wndProcDelegate = CustomWndProc; gcHandle = GCHandle.Alloc(_wndProcDelegate); WNDCLASS windClass = new WNDCLASS { lpszClassName = className, lpfnWndProc = Marshal.GetFunctionPointerForDelegate(_wndProcDelegate) }; ushort classAtom = User32.RegisterClassW(ref windClass); int lastError = Marshal.GetLastWin32Error(); if (classAtom == 0 && lastError != ERROR_CLASS_ALREADY_EXISTS) { throw new Exception("Could not register window class"); } uint extendedStyle = (uint)( WindowExStyles.WS_EX_LEFT | WindowExStyles.WS_EX_LTRREADING | WindowExStyles.WS_EX_RIGHTSCROLLBAR | WindowExStyles.WS_EX_TOOLWINDOW); const uint style = (uint)( WindowStyles.WS_CLIPSIBLINGS | WindowStyles.WS_CLIPCHILDREN | WindowStyles.WS_POPUP); // Create window Handle = User32.CreateWindowExW( extendedStyle, className, className, style, 0, 0, 0, 0, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero ); if (Handle == IntPtr.Zero) { return; } var styles = (int)User32.GetWindowLongPtr(Handle, WindowLongFlags.GWL_EXSTYLE); //var owner = User32.GetWindow(_parentHandle, 4); //User32.SetWindowLong(Handle, GetWindowLongFlags.GWL_HWNDPARENT, owner); styles |= (int)(WindowExStyles.WS_EX_LAYERED | WindowExStyles.WS_EX_NOACTIVATE | WindowExStyles.WS_EX_NOPARENTNOTIFY); if (!_decorator.Resizable) { styles |= (int)WindowExStyles.WS_EX_TRANSPARENT; } User32.SetWindowLongPtr(Handle, WindowLongFlags.GWL_EXSTYLE, new IntPtr(styles)); _screenDC = User32.GetDC(IntPtr.Zero); _memDC = Gdi32.CreateCompatibleDC(_screenDC); D2D1.D2D1CreateFactory(FactoryType.SingleThreaded, out _d2dFactory); }
private void CreateWindow(string className) { if (className == null) { throw new Exception("class_name is null"); } if (className == String.Empty) { throw new Exception("class_name is empty"); } _wndProcDelegate = CustomWndProc; gcHandle = System.Runtime.InteropServices.GCHandle.Alloc(_wndProcDelegate); WNDCLASS windClass = new WNDCLASS { cbClsExtra = 0, cbWndExtra = 0, hbrBackground = IntPtr.Zero, hCursor = IntPtr.Zero, hIcon = IntPtr.Zero, lpfnWndProc = Marshal.GetFunctionPointerForDelegate(_wndProcDelegate), lpszClassName = className, lpszMenuName = null, style = 0 }; ushort classAtom = User32.RegisterClassW(ref windClass); int lastError = Marshal.GetLastWin32Error(); if (classAtom == 0 && lastError != ERROR_CLASS_ALREADY_EXISTS) { throw new Exception("Could not register window class"); } var owner = User32.GetWindow(_parentHandle, GetWindowCommands.GW_OWNER); _handle = User32.CreateWindowEx( (int)(WindowExStyles.WS_EX_LEFT | WindowExStyles.WS_EX_LTRREADING | WindowExStyles.WS_EX_LAYERED | WindowExStyles.WS_EX_TOOLWINDOW | WindowExStyles.WS_EX_RIGHTSCROLLBAR | WindowExStyles.WS_EX_NOACTIVATE | WindowExStyles.WS_EX_TRANSPARENT), new IntPtr(classAtom), className, //-(WindowStyles.WS_VISIBLE | WindowStyles.WS_MINIMIZE | WindowStyles.WS_CHILDWINDOW | WindowStyles.WS_CLIPCHILDREN | WindowStyles.WS_DISABLED | WindowStyles.WS_POPUP), (WindowStyles.WS_POPUP | WindowStyles.WS_VISIBLE | WindowStyles.WS_CLIPSIBLINGS | WindowStyles.WS_CLIPCHILDREN), 0, 0, 0, 0, owner, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero); if (_handle == IntPtr.Zero) { return; } //const UInt32 extendedStyle = (UInt32)( // WindowExStyles.WS_EX_LEFT | // WindowExStyles.WS_EX_LTRREADING | // WindowExStyles.WS_EX_RIGHTSCROLLBAR | // WindowExStyles.WS_EX_TOOLWINDOW); //const UInt32 style = (UInt32)( // WindowStyles.WS_CLIPSIBLINGS | // WindowStyles.WS_CLIPCHILDREN | // WindowStyles.WS_POPUP); //// Create window //_handle = User32.CreateWindowExW( // extendedStyle, // className, // className, // style, // 0, // 0, // 0, // 0, // IntPtr.Zero, // IntPtr.Zero, // IntPtr.Zero, // IntPtr.Zero //); //if (_handle == IntPtr.Zero) //{ // return; //} //uint styles = User32.GetWindowLong(_handle, GetWindowLongFlags.GWL_EXSTYLE); //styles = styles | (int)WindowExStyles.WS_EX_LAYERED | (int)WindowExStyles.WS_EX_NOACTIVATE | (int)WindowExStyles.WS_EX_TRANSPARENT; //User32.SetWindowLong(_handle, GetWindowLongFlags.GWL_EXSTYLE, styles); }
public InputMessageFilter(WndProcHandler hook) { _Hook = hook; System.Windows.Forms.Application.AddMessageFilter(this); }
internal static extern IntPtr SetWindowsHookEx(int hookType, WndProcHandler callback, IntPtr hMod, uint dwThreadId);
public InputMessageFilter(WndProcHandler hook) { m_Hook = hook; Application.AddMessageFilter(this); }
public InputMessageFilter(WndProcHandler hook) { m_Hook = hook; }
public InputMessageFilter(WndProcHandler hook) { m_Hook = hook; }
public InputMessageFilter(WndProcHandler hook) { _Hook = hook; System.Windows.Forms.Application.AddMessageFilter(this); }