private void OnKeyDown(Input.InputEventArgs e) { if (!isRecording) { return; } if (e.Key == KeyboardKey.Escape) { StopRecordPlugins(); InputDriver.Instance.CallNext = true; InputDriver.Instance.OnKeyDown -= OnKeyDown; InputDriver.Instance.OnKeyUp -= OnKeyUp; GenericTools.restore(GenericTools.mainWindow); return; } // if (e.Key == KeyboardKey. 255) return; try { if (mainTabControl.SelectedContent is Views.WFDesigner view) { if (view.lastinserted != null && view.lastinserted is Activities.TypeText) { Log.Debug("re-use existing TypeText"); var item = (Activities.TypeText)view.lastinserted; item.AddKey(new Activities.vKey((FlaUI.Core.WindowsAPI.VirtualKeyShort)e.Key, false), view.lastinsertedmodel); } else { Log.Debug("Add new TypeText"); var rme = new Activities.TypeText(); view.lastinsertedmodel = view.addActivity(rme); rme.AddKey(new Activities.vKey((FlaUI.Core.WindowsAPI.VirtualKeyShort)e.Key, false), view.lastinsertedmodel); view.lastinserted = rme; } } } catch (Exception ex) { Log.Error(ex.ToString()); } }
private void OnKeyUp(Input.InputEventArgs e) { if (!isRecording) { return; } // if (e.KeyValue == 255) return; try { if (mainTabControl.SelectedContent is Views.WFDesigner view) { if (view.lastinserted != null && view.lastinserted is Activities.TypeText) { Log.Debug("re-use existing TypeText"); var item = (Activities.TypeText)view.lastinserted; item.AddKey(new Activities.vKey((FlaUI.Core.WindowsAPI.VirtualKeyShort)e.Key, true), view.lastinsertedmodel); } } } catch (Exception ex) { Log.Error(ex.ToString()); } }
private void _OnKeyUp(OpenRPA.Input.InputEventArgs e) { AddKey(new Input.vKey((FlaUI.Core.WindowsAPI.VirtualKeyShort)e.Key, true)); NotifyPropertyChanged("Text"); }
// private bool mouseDownWaiting = false; private void RaiseOnMouseMove(InputEventArgs e) { OnMouseMove?.Invoke(e); }
private IntPtr LowLevelMouseProc(int nCode, IntPtr wParam, IntPtr lParam) { try { if (AllowOneClick) { if ((int)wParam == NativeMethods.WM_LBUTTONDOWN || (int)wParam == NativeMethods.WM_RBUTTONDOWN || (int)wParam == NativeMethods.WM_MBUTTONDOWN) { return(NativeMethods.CallNextHookEx(IntPtr.Zero, nCode, wParam, lParam)); } if ((int)wParam == NativeMethods.WM_LBUTTONUP || (int)wParam == NativeMethods.WM_RBUTTONUP || (int)wParam == NativeMethods.WM_MBUTTONUP) { AllowOneClick = false; return(NativeMethods.CallNextHookEx(IntPtr.Zero, nCode, wParam, lParam)); } } if (currentprocessid == 0) { currentprocessid = System.Diagnostics.Process.GetCurrentProcess().Id; } if (nCode >= NativeMethods.HC_ACTION) { var e = new InputEventArgs(); var pt = new NativeMethods.POINT(); NativeMethods.GetPhysicalCursorPos(ref pt); e.X = pt.x; e.Y = pt.y; e.AltKey = NativeMethods.HIBYTE(NativeMethods.GetKeyState(NativeMethods.VK_LMENU) | NativeMethods.GetKeyState(NativeMethods.VK_RMENU)) != 0; e.CtrlKey = NativeMethods.HIBYTE(NativeMethods.GetKeyState(NativeMethods.VK_LCONTROL) | NativeMethods.GetKeyState(NativeMethods.VK_RCONTROL)) != 0; e.ShiftKey = NativeMethods.HIBYTE(NativeMethods.GetKeyState(NativeMethods.VK_LSHIFT) | NativeMethods.GetKeyState(NativeMethods.VK_RSHIFT)) != 0; e.WinKey = NativeMethods.HIBYTE(NativeMethods.GetKeyState(NativeMethods.VK_LWIN) | NativeMethods.GetKeyState(NativeMethods.VK_RWIN)) != 0; switch ((int)wParam) { case NativeMethods.WM_LBUTTONUP: e.Type = InputEventType.MouseUp; e.Button = MouseButton.Left; if (!AllowOneClick) { RaiseOnMouseUp(e); } //OnInput(e); break; case NativeMethods.WM_RBUTTONUP: e.Type = InputEventType.MouseUp; e.Button = MouseButton.Right; if (!AllowOneClick) { RaiseOnMouseUp(e); } //OnInput(e); break; case NativeMethods.WM_MBUTTONUP: e.Type = InputEventType.MouseUp; e.Button = MouseButton.Middle; if (!AllowOneClick) { RaiseOnMouseUp(e); } //OnInput(e); break; case NativeMethods.WM_LBUTTONDOWN: e.Type = InputEventType.MouseDown; e.Button = MouseButton.Left; if (!AllowOneClick) { RaiseOnMouseDown(e); } //OnInput(e); break; case NativeMethods.WM_RBUTTONDOWN: e.Type = InputEventType.MouseDown; e.Button = MouseButton.Right; if (!AllowOneClick) { RaiseOnMouseDown(e); } //OnInput(e); break; case NativeMethods.WM_MBUTTONDOWN: e.Type = InputEventType.MouseDown; e.Button = MouseButton.Middle; if (!AllowOneClick) { RaiseOnMouseDown(e); } //OnInput(e); break; case NativeMethods.WM_MOUSEMOVE: e.Type = InputEventType.MouseMove; if (!AllowOneClick) { RaiseOnMouseMove(e); } //OnInput(e); break; } if (CallNext || (int)wParam == NativeMethods.WM_MOUSEMOVE || (int)wParam == NativeMethods.WM_MouseWheel) { // if((int)wParam != WM_MOUSEMOVE) Log.Debug("CallNextHookEx: " + CallNext); return(NativeMethods.CallNextHookEx(IntPtr.Zero, nCode, wParam, lParam)); } try { if (e.Element != null && e.Element.ProcessId == currentprocessid) { // if ((int)wParam != WM_MOUSEMOVE) Log.Debug("CallNextHookEx: " + CallNext); return(NativeMethods.CallNextHookEx(IntPtr.Zero, nCode, wParam, lParam)); } } catch (Exception ex) { Log.Error(ex, ""); return(NativeMethods.CallNextHookEx(IntPtr.Zero, nCode, wParam, lParam)); } // if ((int)wParam != WM_MOUSEMOVE) Log.Debug("Skip CallNextHookEx: " + CallNext); return((IntPtr)1); } else { return(NativeMethods.CallNextHookEx(IntPtr.Zero, nCode, wParam, lParam)); } } catch (Exception ex) { System.Diagnostics.Trace.WriteLine("LowLevelMouseProc: " + ex.Message); return(IntPtr.Zero); } }
private IntPtr LowLevelMouseProc(Int32 nCode, IntPtr wParam, IntPtr lParam) { if (SkipEvent) { if (CallNext) { return(CallNextHookEx(IntPtr.Zero, nCode, wParam, lParam)); } return((IntPtr)1); } if (currentprocessid == 0) { currentprocessid = System.Diagnostics.Process.GetCurrentProcess().Id; } if (nCode >= HC_ACTION) { var e = new InputEventArgs(); var pt = new POINT(); GetPhysicalCursorPos(ref pt); e.X = pt.x; e.Y = pt.y; e.AltKey = HIBYTE(GetKeyState(VK_LMENU) | GetKeyState(VK_RMENU)) != 0; e.CtrlKey = HIBYTE(GetKeyState(VK_LCONTROL) | GetKeyState(VK_RCONTROL)) != 0; e.ShiftKey = HIBYTE(GetKeyState(VK_LSHIFT) | GetKeyState(VK_RSHIFT)) != 0; e.WinKey = HIBYTE(GetKeyState(VK_LWIN) | GetKeyState(VK_RWIN)) != 0; switch ((Int32)wParam) { case WM_LBUTTONUP: e.Type = InputEventType.MouseUp; e.Button = MouseButton.Left; RaiseOnMouseUp(e); //OnInput(e); break; case WM_RBUTTONUP: e.Type = InputEventType.MouseUp; e.Button = MouseButton.Right; RaiseOnMouseUp(e); //OnInput(e); break; case WM_MBUTTONUP: e.Type = InputEventType.MouseUp; e.Button = MouseButton.Middle; RaiseOnMouseUp(e); //OnInput(e); break; case WM_LBUTTONDOWN: e.Type = InputEventType.MouseDown; e.Button = MouseButton.Left; RaiseOnMouseDown(e); //OnInput(e); break; case WM_RBUTTONDOWN: e.Type = InputEventType.MouseDown; e.Button = MouseButton.Right; RaiseOnMouseDown(e); //OnInput(e); break; case WM_MBUTTONDOWN: e.Type = InputEventType.MouseDown; e.Button = MouseButton.Middle; RaiseOnMouseDown(e); //OnInput(e); break; case WM_MOUSEMOVE: e.Type = InputEventType.MouseMove; RaiseOnMouseMove(e); //OnInput(e); break; } if (CallNext || (Int32)wParam == WM_MOUSEMOVE) { // if((Int32)wParam != WM_MOUSEMOVE) Log.Debug("CallNextHookEx: " + CallNext); return(CallNextHookEx(IntPtr.Zero, nCode, wParam, lParam)); } try { if (e.Element != null && e.Element.ProcessId == currentprocessid) { // if ((Int32)wParam != WM_MOUSEMOVE) Log.Debug("CallNextHookEx: " + CallNext); return(CallNextHookEx(IntPtr.Zero, nCode, wParam, lParam)); } } catch (Exception ex) { Log.Error(ex, ""); return(CallNextHookEx(IntPtr.Zero, nCode, wParam, lParam)); } // if ((Int32)wParam != WM_MOUSEMOVE) Log.Debug("Skip CallNextHookEx: " + CallNext); return((IntPtr)1); } else { return(CallNextHookEx(IntPtr.Zero, nCode, wParam, lParam)); } }