/// <summary> /// Install low level mouse hook /// </summary> public void Install() { hookHandler = HookFunc; mouseHookID = SetHook(hookHandler, WH_MOUSE_LL); keyHookHandler = KeyBoardHookFunc; keyBoardHookID = SetHook(keyHookHandler, WH_KEYBOARD_LL); }
/// <summary> /// Sets hook and assigns its ID for tracking /// </summary> /// <param name="proc">Internal callback function</param> /// <returns>Hook ID</returns> private IntPtr SetHook(MouseHookHandler proc) { using (ProcessModule module = Process.GetCurrentProcess().MainModule) { return(SetWindowsHookEx(WH_MOUSE_LL, proc, GetModuleHandle(module.ModuleName), 0)); } }
/// <summary> /// マウスフック開始 /// </summary> public void Start() { if (!IsStarted) { hookHandler = HookFunc; hookID = SetHook(hookHandler); IsStarted = true; } }
/// <summary> /// Install low level mouse hook /// </summary> public void Install() { if (_isInstalled) { return; } _hookHandler = HookFunc; _hookId = SetHook(_hookHandler); _isInstalled = true; }
private void OnWindowSystemMouseClick(MouseHookHandler.MouseType type) { IntPtr hld = SelectWindowHandler.WindowFromPoint(); string titleName = WindownTitleHandler.GetWindowTitle(hld); SetWindowNameLabel(titleName); if (type == MouseHookHandler.MouseType.LeftUp) { curSelectWindowHld = hld; MouseHookHandler.HookStop(); } }
/// <summary> /// Install low level mouse hook /// </summary> /// <param name="mouseHookCallbackFunc">Callback function</param> public void Install() { hookHandler = HookFunc; hookID = SetHook(hookHandler); if (mouseHistory == null) { mouseHistory = new ObservableCollection <string>(); } supressNext = false; }
//----------------------------------------------------- // フック開始/終了 //----------------------------------------------------- // キー入力とマウス入力をフック public void Hook() { IntPtr hMod = Marshal.GetHINSTANCE(System.Reflection.Assembly.GetExecutingAssembly().GetModules()[0]); UnhookWindowsHookEx(mouseHook); UnhookWindowsHookEx(keyHook); mouseHandler = new MouseHookHandler(OnMouseLLHook); keyHandler = new KeyHookHandler(OnKeyLLHook); mouseHook = SetWindowsHookEx(WH.MOUSE_LL, mouseHandler, hMod, 0); keyHook = SetWindowsHookEx(WH.KEYBOARD_LL, keyHandler, hMod, 0); if (mouseHook == IntPtr.Zero || keyHook == IntPtr.Zero) { UnhookWindowsHookEx(mouseHook); UnhookWindowsHookEx(keyHook); int errorCode = Marshal.GetLastWin32Error(); Console.WriteLine(new Win32Exception(errorCode)); } }
//----------------------------------------------------- // フック開始/終了 //----------------------------------------------------- // キー入力とマウス入力をフック public void Hook() { IntPtr hMod = Marshal.GetHINSTANCE(System.Reflection.Assembly.GetExecutingAssembly().GetModules()[0]); UnhookWindowsHookEx(mouseHook); UnhookWindowsHookEx(keyHook); mouseHandler = new MouseHookHandler(OnMouseLLHook); keyHandler = new KeyHookHandler(OnKeyLLHook); mouseHook = SetWindowsHookEx(WH.MOUSE_LL, mouseHandler, hMod, 0); keyHook = SetWindowsHookEx(WH.KEYBOARD_LL, keyHandler, hMod, 0); if (mouseHook == IntPtr.Zero || keyHook == IntPtr.Zero) { UnhookWindowsHookEx(mouseHook); UnhookWindowsHookEx(keyHook); // int errorCode = Marshal.GetLastWin32Error(); // Console.WriteLine(new Win32Exception(errorCode)); hooking = false; } else { hooking = true; } }
/// <summary> /// Install low level mouse hook /// </summary> /// <param name="mouseHookCallbackFunc">Callback function</param> public void Install() { hookHandler = HookFunc; hookID = SetHook(hookHandler); }
/// <summary> /// Sets hook and assigns its ID for tracking /// </summary> /// <param name="proc">Internal callback function</param> /// <returns>Hook ID</returns> private IntPtr SetHook(MouseHookHandler proc) { using (ProcessModule module = Process.GetCurrentProcess().MainModule) return SetWindowsHookEx(WH_MOUSE_LL, proc, GetModuleHandle(module.ModuleName), 0); }
public void Install() { this.hookHandler = new MouseHookHandler(this.HookFunc); this.hookID = this.SetHook(this.hookHandler); }
private static extern IntPtr SetWindowsHookEx(int idHook, MouseHookHandler lpfn, IntPtr hMod, uint dwThreadId);
/// <summary> /// Install low level mouse hook /// </summary> /// <param name="mouseHookCallbackFunc">Callback function</param> public void Install() { hookHandler = HookFunc; hookID = SetHook(hookHandler); IsHooked = true; }
private void OnClickSelectWindowBtn(object sender, RoutedEventArgs e) { MouseHookHandler.HookStart(OnWindowSystemMouseClick); }
public static extern IntPtr SetWindowsHookEx(short idHook, MouseHookHandler hookProc, IntPtr hMod, // HINSTANCE uint dwThreadId);
/// <summary> /// Install low level mouse hook /// </summary> /// <param name="mouseHookCallbackFunc">Callback function</param> public void Install() { hookHandler = HookFunc; hookID = SetHook(hookHandler); IsActive = true; }
/// <summary> /// Install low level mouse hook /// </summary> /// <param name="mouseHookCallbackFunc">Callback function</param> public void StartHooking() { hookHandler = HookFunc; hookID = SetHook(hookHandler); }
/// <summary> /// Sets hook and assigns its ID for tracking /// </summary> /// <param name="proc">Internal callback function</param> /// <returns>Hook ID</returns> private static IntPtr SetHook(MouseHookHandler proc) { using (var module = Process.GetCurrentProcess().MainModule) return(InternalSetWindowsHookEx(WhMouseLl, proc, NativeMethods.GetModuleHandle(module.ModuleName), 0)); }
/// <summary> /// Sets hook and assigns its ID for tracking /// </summary> /// <param name="proc">Internal callback function</param> /// <param name="handle">Handle for resource (keyboard or mouse?)</param> /// <returns>Hook ID</returns> static IntPtr SetHook(MouseHookHandler proc, int handle) { using (ProcessModule module = Process.GetCurrentProcess().MainModule) //return NativeMethods.SetWindowsHookEx(handle, proc, NativeMethods.GetModuleHandle(module.ModuleName), 0); return(NativeMethods.SetWindowsHookEx(handle, proc, IntPtr.Zero, 0)); }
static extern IntPtr SetWindowsHookEx(WH hookType, MouseHookHandler hookDelegate, IntPtr module, uint threadId);
/// <summary> /// Install low level mouse hook /// </summary> public void Install() { _hookHandler = HookFunc; _hookId = SetHook(_hookHandler); }
/// <summary> /// Sets hook and assigns its ID for tracking /// </summary> /// <param name="proc">Internal callback function</param> /// <returns>Hook ID</returns> private static IntPtr SetHook(MouseHookHandler proc) { using (var module = Process.GetCurrentProcess().MainModule) return InternalSetWindowsHookEx(WhMouseLl, proc, NativeMethods.GetModuleHandle(module.ModuleName), 0); }