static Mouse() { Hook = new MouseHook(); Hook.Start(); Application.ApplicationExit += new EventHandler(OnAppExit); AppDomain.CurrentDomain.DomainUnload += new EventHandler(OnDomainUnload); }
private void MainForm_Load(object sender, EventArgs e) { KEYBOARD_HOOK = new KeyboardHook(); KEYBOARD_HOOK.KeyEvent += KeyboaardHookEvent; var keyboardHookID = KEYBOARD_HOOK.Hook(); MOUSE_HOOK = new MouseHook(); MOUSE_HOOK.MouseEvent += MouseHookEvent; var mouseHookID = MOUSE_HOOK.Hook(); }
public Executor(Form1 form) { MouseHook.LocalHook = false; MouseHook.InstallHook(); Size resolution = Screen.PrimaryScreen.Bounds.Size; xScaling = (double)65535 / resolution.Width; yScaling = (double)65535 / resolution.Height; frm = form; }
public string?GetWallerpaperImagePath() { IntPtr p = IntPtr.Zero; MouseHook.SystemParametersInfo((uint)MouseHook.SystemParametersDesktopInfo.SPI_GETDESKWALLPAPER, 300, p, (uint)MouseHook.SystemParamtersInfoFlags.None); var result = Marshal.PtrToStringAuto(p); //默认桌面路径 Marshal.FreeHGlobal(p); return(result); }
private void CloseClick(object sender, EventArgs e) { mouseHook.Dispose(); if (mouseHook != null) { mouseHook = null; } notifyIcon.Visible = false; this.Close(); }
private ElementMonitor(UIApplication uiApp) { m_Instance = this; m_UIApplication = uiApp; m_MouseHook = new MouseHook(); m_MouseHook.Install(); m_MouseHook.MouseDoubleClick += OnRaiseMouseDoubleClick; }
private void Form1_Load(object sender, EventArgs e) { _helper = new SwagHelper(); KeyboardHook.KeyUp += KeyUpHandler; KeyboardHook.KeyDown += KeyDownHandler; KeyboardHook.InstallHook(); MouseHook.MouseMove += new MouseHook.MouseMoveEventHandler(MouseMoveHandler); MouseHook.MouseEvent += new MouseHook.MouseEventEventHandler(MouseClickHandler); MouseHook.InstallHook(); }
void Start() { if (MouseHook.IsHooking) { return; } MouseHook.AddEvent(MouseMonitor); MouseHook.Start(); //MouseHook.Disable(); }
/// <summary> /// Initializes a new instance of the <see cref="MouseLurker" /> class. /// </summary> /// <param name="processId">The process identifier.</param> /// <param name="settingsService">The settings service.</param> public MouseLurker(int processId, SettingsService settingsService) { this._settingsService = settingsService; this._mouseHook = new MouseHook(processId, MouseMessageTypes.All); this._mouseHook.RightButtonUp += this.MouseHook_RightButtonUp; this._mouseHook.LeftButtonUp += this.MouseHook_LeftButtonUp; this._mouseHook.MouseMove += this.MouseHook_MouseMove; this._mouseHook.InstallAsync(); }
public void ResetWallerpaper() { //string result = string.Empty; IntPtr p = IntPtr.Zero; MouseHook.SystemParametersInfo((uint)MouseHook.SystemParametersDesktopInfo.SPI_GETDESKWALLPAPER, 300, p, (uint)MouseHook.SystemParamtersInfoFlags.None); //result = Marshal.PtrToStringAuto(p); //默认桌面路径 MouseHook.SystemParametersInfo((uint)MouseHook.SystemParametersDesktopInfo.SPI_SETDESKWALLPAPER, 1, p, (uint)MouseHook.SystemParamtersInfoFlags.SPIF_UPDATEINIFILE | (uint)MouseHook.SystemParamtersInfoFlags.SPIF_SENDWININICHANGE); Marshal.FreeHGlobal(p); }
private void MouseDblClickEventHook(object sender, MouseEventExtArgs e) { System.Windows.Forms.MouseButtons clickedButton = e.Button; MouseClickType clickedType = (MouseClickType)e.Clicks; this.ModelItem.Properties["MouseButton"].SetValue(clickedButton); this.ModelItem.Properties["MouseClickAction"].SetValue(clickedType); MouseHook.stop(); }
public App(MainWindow mainWindow, KeyboardHook keyboardHook, MouseHook mouseHook) { InitializeComponent(); _keyboardHook = keyboardHook; _mouseHook = mouseHook; _notifyIcon = (TaskbarIcon)FindResource("NotifyIcon") !; _mainWindow = mainWindow; }
public Form1() { InitializeComponent(); // set up the global hook event for change of active window GlobalEventHook.Start(); GlobalEventHook.WinEventActive += new EventHandler(GlobalEventHook_WinEventActive); // Setup global mouse hook to react to mouse clicks under certain conditions, see event handler MouseHook.Start(); MouseHook.MouseAction += new EventHandler(MouseHook_MouseAction); }
/// <inheritdoc /> public override void Dispose() { base.Dispose(); MouseHook.Dispose(); MouseHook = default; GameData = default; GameProcess = default; }
public TraceForm() { InitializeComponent(); _mouseHook = MouseHook.getInstance(); _keyboardHook = KeyboardHook.getInstance(); _mouseHook.OnMouseActivity += new MouseEventHandler(hook_MainMouseMove); _keyboardHook.OnKeyDown += new KeyEventHandler(hook_MainKeyDown); _keyboardHook.OnKeyPress += new KeyPressEventHandler(hook_MainKeyPress); _keyboardHook.OnKeyUp += new KeyEventHandler(hook_MainKeyUp); }
public IntPtr MouseHookProc(int _nCode, IntPtr _wParam, IntPtr _lParam) { if (_nCode >= 0) { MouseHook.MouseHookStruct mouseHookStruct = (MouseHook.MouseHookStruct)Marshal.PtrToStructure(_lParam, typeof(MouseHook.MouseHookStruct)); String strText = "x = " + mouseHookStruct.pt.x.ToString("d") + " : y = " + mouseHookStruct.pt.y.ToString("d"); this.Text = strText; } return(MouseHook.CallNextHookEx(m_hHook, _nCode, _wParam, _lParam)); }
private void FormClient_Load(object sender, EventArgs e) { notifyIconClient.BalloonTipText = "Window minimized." + Environment.NewLine + "Click here to restore window."; notifyIconClient.BalloonTipTitle = "Vistrol Client"; notifyIconClient.BalloonTipClicked += notifyIconClient_BalloonTipClicked; notifyIconClient.BalloonTipIcon = ToolTipIcon.Info; notifyIconClient.Text = "Vistrol Client"; notifyIconClient.Icon = Properties.Resources.client; notifyIconClient.Visible = false; notifyIconClient.DoubleClick += notifyIconClient_DoubleClick; this.IsMdiContainer = false; dockPanel.DocumentStyle = DocumentStyle.DockingSdi; // create the dock controls createControls(); deserializeDockContent = new DeserializeDockContent(getContentFromPersistString); string configFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData, Environment.SpecialFolderOption.Create), CONFIG_FILE_NAME); if (File.Exists(configFile)) { dockPanel.LoadFromXml(configFile, deserializeDockContent); } else { loadNewLayout(); } // add the custom mimic windows holder holder = new CustomControlHolder(new Size(0, 0), 0, 0); formMimic.AddMimicHolder(holder); // register events from the holder holder.onDelegateClosedEvt += holder_onDelegateClosedEvt; holder.onDelegateMaximizedEvt += holder_onDelegateMaximizedEvt; holder.onDelegateMinimizedEvt += holder_onDelegateMinimizedEvt; holder.onDelegatePosChangedEvt += holder_onDelegatePosChangedEvt; holder.onDelegateRestoredEvt += holder_onDelegateRestoredEvt; holder.onDelegateSizeChangedEvt += holder_onDelegateSizeChangedEvt; // initialize helper classes mouseHook = new MouseHook(); mouseHook.HookInvoked += mouseHook_HookInvoked; keyboardHook = new KeyboardHook(); keyboardHook.HookInvoked += keyboardHook_HookInvoked; // preset helper class presetHelper = new PresetHelper(holder); // for events this.Resize += FormClient_Resize; }
public void HookUpMouse() { recording = true; MouseHook.SetHook(); //MouseHook.MouseMoveEvent += mh_MouseMoveEvent; //MouseHook.MouseClickEvent += mh_MouseClickEvent; MouseHook.MouseDownEvent += mh_MouseDownEvent; Stopwatch.Start(); //MouseHook.MouseUpEvent += mh_MouseUpEvent; }
public Form2() { InitializeComponent(); FormBorderStyle = FormBorderStyle.None; BackColor = Color.DarkGray; ShowInTaskbar = false; Shown += Form2_Shown; MouseHook mouseHook = new MouseHook(); mouseHook.LeftButtonDown += MouseHook_LeftButtonDown; mouseHook.Install(); }
private void Window_Loaded(object sender, RoutedEventArgs e) { MouseHook.Start(); MouseHook.MouseAction += new EventHandler(MouseEvent); uiworker = new BackgroundWorker(); uiworker.DoWork += new DoWorkEventHandler(uiworker_init); uiworker.ProgressChanged += new ProgressChangedEventHandler(uiworker_onupdate); uiworker.WorkerReportsProgress = true; Update(); }
public MainWindow() { InitializeComponent(); wih = new WindowInteropHelper(this); assemblyName = Assembly.GetExecutingAssembly().GetName(); Title = assemblyName.Name; mh = new MouseHook(); mh.MouseWheel += Mh_MouseWheel; mh.MouseUp += Mh_MouseUp; mh.MouseDown += Mh_MouseUp; this.Closing += MainWindow_Closing; }
private void btnRecord_Click(object sender, EventArgs e) { if (!m_recordingActive) { MouseHook.Start(); m_recordingActive = true; m_recordStep = FeedRecordStep.FeedButtonLocation; lblText.Text = "Feed button drücken"; } }
private void SimulateMouse() { var rand = new Random(); while (true) { Thread.Sleep(1000); MouseHook.X = rand.Next(800); MouseHook.Y = rand.Next(500); MouseHook.Show(); } }
/// <param name="eventReceiver">A instance of <see cref="IMouseEventReceiver"/> which receives mouse events.</param> public InputSource(IMouseEventReceiver eventReceiver) { if (eventReceiver == null) { throw new ArgumentNullException(nameof(eventReceiver)); } _mouseEventReceiver = new WeakReference <IMouseEventReceiver>( eventReceiver); _mouseHook = SetupMouseHook(OnRawMouseInputProcessed); }
private void button2_Click(object sender, EventArgs e) { button1.Enabled = true; button2.Enabled = false; try { //Stop Hooks gHook.unhook(); MouseHook.stop(); } catch (Exception z) { } }
static void Main(string[] args) { MouseHook.MouseEvent += MouseHook_MouseEvent; MouseHook.WheelDown += MouseHook_WheelDown; MouseHook.Set(); while (true) { Task.Delay(60000).Wait(); } }
/// <summary> /// Handle mouse event. /// </summary> /// <param name="code">Code.</param> /// <param name="msg">Message.</param> /// <param name="mouse">Mouse.</param> /// <returns>Value which depends on the hook type.</returns> private static IntPtr HandleMouseEvent(int code, uint msg, Mouse mouse) { if (code >= 0) { lock (stateLocker) { DeviceState state = GetDeviceState(msg, mouse); HandleDeviceEvent(state, oldState); oldState = state; } } return(MouseHook.CallNextHookEx(mouseEventHandle, code, msg, mouse)); }
public GlobalHooks(IntPtr Handle) { _Handle = Handle; _CBT = new CBTHook(_Handle); _Shell = new ShellHook(_Handle); _Keyboard = new KeyboardHook(_Handle); _Mouse = new MouseHook(_Handle); _KeyboardLL = new KeyboardLLHook(_Handle); _MouseLL = new MouseLLHook(_Handle); _CallWndProc = new CallWndProcHook(_Handle); _GetMsg = new GetMsgHook(_Handle); }
private static IntPtr HookCallback(int nCode, IntPtr wParam, IntPtr lParam) { if (nCode >= 0 && MouseHook.MouseMessages.WM_MOUSEMOVE == (MouseHook.MouseMessages)wParam) { MouseHook.MSLLHOOKSTRUCT hookStruct = (MouseHook.MSLLHOOKSTRUCT)Marshal.PtrToStructure(lParam, typeof(MouseHook.MSLLHOOKSTRUCT)); if (hookStruct.pt.x < 0) { System.Windows.Forms.Cursor.Position = new System.Drawing.Point(0, hookStruct.pt.y); return((IntPtr)1); } } return(MouseHook.CallNextHookEx(_hookID, nCode, wParam, lParam)); }
/// <summary> /// Unhook and null out our mouseHook. /// </summary> protected override void OnHandleDestroyed(EventArgs e) { s_adornerWindowList.Remove(this); // Unregister the mouse hook once all adorner windows have been disposed. if (s_adornerWindowList.Count == 0 && s_mouseHook != null) { s_mouseHook.Dispose(); s_mouseHook = null; } base.OnHandleDestroyed(e); }
void RecordButton_Unchecked(object sender, RoutedEventArgs e) { RecordButton.Content = "Record"; MouseHook.Stop(); KeyboardHook.Stop(); workflow = input.GetWorkflow(); if (workflow.Activities.Any()) { XamlServices.Save($@"{OutputDirName}\{DateTime.Now:yyyyMMdd-HHmmss}.xaml", workflow); } }
public EventPanel() { _panRequestedEvent = EventManager.GetRoutedEvents().FirstOrDefault(re => re.Name == "PanRequested"); ClipToBounds = true; if (DesignerProperties.GetIsInDesignMode(this)) { _hasViewChanged = false; } else { SizeChanged += EventPanel_SizeChanged; _mouseHook = new MouseHook(); _mouseHook.MouseHorizontalWheel += EventPanel_MouseHorizontalWheel; _mouseHook.StartMouseHook(); } }
public void Start() { _m = new MouseHook(); _m.SetWindowsHook(); _m.OnHookProc = OnHookInvoqued; }
private void MouseSetForm_Load( object sender, EventArgs e ) { foreach( var mouse in this.mouseData.Value ) { string op; switch( mouse.op ) { case Operation.LEFT: op = MouseOperationText.LEFT; break; case Operation.RIGHT: op = MouseOperationText.RIGHT; break; case Operation.MOVE: op = MouseOperationText.MOVE; break; default: continue; } var row = this.dgv.Rows.Add(); this.dgv.Rows[row].Cells[DgvCol.OPERATION].Value = op; this.dgv.Rows[row].Cells[DgvCol.X].Value = mouse.x; this.dgv.Rows[row].Cells[DgvCol.Y].Value = mouse.y; this.dgv.Rows[row].Cells[DgvCol.SLEEP_BETWEEN].Value = mouse.sleepBetween; this.dgv.Rows[row].Cells[DgvCol.SLEEP_AFTER].Value = mouse.sleepAfter; } this._mouseHook = new MouseHook(); this._mouseHook.MouseHooked += AutoInput; this.cmbSwitch.SelectedIndex = (int)this.mouseData.SwitchState; this.editedFlag = false; }
private bool HandleSpecialButtonCombination(MouseHook.MouseHookEventArgs e) { if(_captured) return false; var mouseSwapped = Native.GetSystemMetrics(Native.SystemMetric.SM_SWAPBUTTON) != 0; var lButtonPressed = Native.GetAsyncKeyState(mouseSwapped ? Keys.RButton : Keys.LButton) < 0; var shiftPressed = Native.GetAsyncKeyState(Keys.ShiftKey) < 0; if (e.Msg == MouseMsg.WM_MBUTTONDOWN && lButtonPressed) { if (shiftPressed) { Post(WM.GUI_REQUEST, (int)GUI_RequestType.ShowHideTray); } else { Post(WM.GUI_REQUEST, (int)GUI_RequestType.PauseResume); } return true; } return false; }
private void HookProc(MouseHook.MouseHookEventArgs e) { //处理 左键 + 中键 用于 暂停继续的情形 if( HandleSpecialButtonCombination(e) ) return; if (_isPaused) return; var mouseData = (Native.MSLLHOOKSTRUCT)Marshal.PtrToStructure(e.lParam, typeof(Native.MSLLHOOKSTRUCT)); //fixme: 判断是否在模拟事件, 为什么不一定可靠? if (_simulatingMouse || mouseData.dwExtraInfo.ToInt64() == MOUSE_EVENT_EXTRA_SIMULATED) { Debug.WriteLine("Simulated:" + e.Msg); if (InitialStayTimeout && _isInitialTimeout) { Debug.WriteLine("_captured=false"); _captured = false; } return; } var prevPos = _curPos; _curPos = new Point(e.X, e.Y); var m = e.Msg; switch (m) { //必须在这里立即决定是否应该捕获 case MouseMsg.WM_RBUTTONDOWN: case MouseMsg.WM_MBUTTONDOWN: if (!_captured) { if (m == MouseMsg.WM_MBUTTONDOWN && (TriggerButton & GestureTriggerButton.Middle) != GestureTriggerButton.Middle || m == MouseMsg.WM_RBUTTONDOWN && (TriggerButton & GestureTriggerButton.Right) != GestureTriggerButton.Right) { return; } try { //notice: 这个方法在钩子线程中运行,因此必须足够快,而且不能失败 _captured = OnBeforePathStart(); } catch (Exception ex) { #if DEBUG throw; #endif //如果出错,则不捕获手势 _captured = false; } if (_captured) { _gestureBtn = (m == MouseMsg.WM_RBUTTONDOWN ? GestureButtons.RightButton : GestureButtons.MiddleButton); _modifierEventHappendPrevTime = new DateTime(0); e.Handled = true; Post(WM.GESTBTN_DOWN); } } else //另一个键作为手势键的时候,作为修饰键 { var gestMod = m == MouseMsg.WM_RBUTTONDOWN ? GestureModifier.RightButtonDown : GestureModifier.MiddleButtonDown; e.Handled = HandleModifier(gestMod); } break; case MouseMsg.WM_MOUSEMOVE: if (_captured) { //永远不拦截move消息,所以不设置e.Handled = true Post(WM.GESTBTN_MOVE); } else //未捕获的情况下才允许hotcorner { HotCornerHitTest(); } break; case MouseMsg.WM_MOUSEWHEEL: if (_captured) { //获得滚动方向 int delta = (short)(mouseData.mouseData >> 16); var gestMod = delta > 0 ? GestureModifier.WheelForward : GestureModifier.WheelBackward; e.Handled = HandleModifier(gestMod); } else if (DateTime.UtcNow - _modifierEventHappendPrevTime < TimeSpan.FromMilliseconds(300))//延迟一下,因为 中键手势 + 滚动,可能导致快捷键还没结束,而滚轮事件发送到了目标窗口,可鞥解释成其他功能(比如ctrl + 滚轮 = 缩放) { e.Handled = true; } break; case MouseMsg.WM_LBUTTONDOWN: if (_captured) { e.Handled = HandleModifier(GestureModifier.LeftButtonDown); } break; case MouseMsg.WM_RBUTTONUP: case MouseMsg.WM_MBUTTONUP: if (_captured) { //是手势键up if (m == (_gestureBtn == GestureButtons.RightButton ? MouseMsg.WM_RBUTTONUP : MouseMsg.WM_MBUTTONUP)) { _captured = false; e.Handled = true; Post(WM.GESTBTN_UP); } } break; default: //其他消息不处理 break; } }
public Win32MousePathTracker2() { var dpiFactor = Native.GetScreenDpi()/96.0f; //properties defaults TriggerButton = /*GestureButtons.RightButton |*/ GestureTriggerButton.Middle; InitialValidMove = (int)(5 * dpiFactor); InitialStayTimeout = true; InitialStayTimeoutMillis = 150; EffectiveMove = (int)(10 * dpiFactor) * 2;//todo: 增加灵敏度调整 StepSize = EffectiveMove/2;// (int) (EffectiveMove * 0.8 * dpiFactor);// EffectiveMove/8; StayTimeout = false; PerformNormalWhenTimeout = false; _mouseHook = new MouseHook(); _mouseHook.MouseHookEvent += HookProc; }
public void TestButtonQueue() { var hook = new MouseHook(); hook.ProcessButtonQueue(State.Released, MouseButton.Left); }
private void Init() { Keys = new KeyUtils(); Mouse = new MouseHook(); Mouse.InstallHook(); }
/// <summary> /// ִ������¼� /// </summary> /// <param name="code"></param> private void doMouseEvent(Code code) { MouseEvent mouseCode = code as MouseEvent; MouseHook hook = new MouseHook(); if (mouseCode != null) { switch (mouseCode.Type) { case MouseEventType.MouseMove: hook.MouseWork(mouseCode); break; case MouseEventType.MouseClick: hook.MouseWork(mouseCode); break; default: hook.MouseWork(mouseCode); break; } } }
void MouseHook_MouseMove(MouseHook.POINT ptLocat) { System.Diagnostics.Trace.WriteLine("mousemove " + ptLocat.x.ToString() + "," + ptLocat.y); }
private void button2_Click(object sender, EventArgs e) { MouseHook hook = new MouseHook(); hook.Start(); }
/// <summary>Set and start mouseHook /// Set and start mouseHook /// </summary> private void StartMouseHook() { //Set the mouseHook mouseHook = new MouseHook(); mouseHook.MouseWheel += new MouseEventHandler(mouseHook_MouseWheel); //Start the mouseHook mouseHook.StartHook(HookType.WH_MOUSE_LL, 0); }