public bool parseUserAction(ref IRecordEvent e) { if (e.UIElement == null) { return(false); } if (e.UIElement.ProcessId < 1) { return(false); } var p = System.Diagnostics.Process.GetProcessById(e.UIElement.ProcessId); if (p.ProcessName.ToLower() != "java") { return(false); } if (lastElement == null) { return(false); } var selector = new JavaSelector(lastElement, null); var a = new GetElement { DisplayName = lastElement.id + " " + lastElement.role + " " + lastElement.Name }; a.Selector = selector.ToString(); e.a = new GetElementResult(a); e.SupportInput = lastElement.SupportInput; return(false); }
private void Hook_OnMouseClicked(int vmID, WindowsAccessBridgeInterop.AccessibleContextNode ac) { lastElement = new JavaElement(ac); lastElement.SetPath(); Log.Debug("OnMouseClicked: " + lastElement.id + " " + lastElement.role + " " + lastElement.Name); if (lastElement == null) { return; } var re = new RecordEvent(); re.Button = MouseButton.Left; var a = new GetElement { DisplayName = lastElement.title }; var sw = new System.Diagnostics.Stopwatch(); sw.Start(); JavaSelector sel = null; // sel = new JavaSelector(e.Element.rawElement, null, true); sel = new JavaSelector(lastElement, null, true); if (sel == null) { return; } if (sel.Count < 2) { return; } a.Selector = sel.ToString(); a.Image = lastElement.ImageString(); a.MaxResults = 1; re.Element = lastElement; re.Selector = sel; re.X = lastElement.X; re.Y = lastElement.Y; re.a = new GetElementResult(a); re.SupportInput = lastElement.SupportInput; Log.Debug(string.Format("Java.Recording::OnMouseClicked::end {0:mm\\:ss\\.fff}", sw.Elapsed)); OnUserAction?.Invoke(this, re); }
public bool parseUserAction(ref IRecordEvent e) { if (lastElement == null) { return(false); } if (e.UIElement == null) { return(false); } if (e.UIElement.ClassName == null || !e.UIElement.ClassName.StartsWith("SunAwt")) { if (e.UIElement.ProcessId < 1) { return(false); } var p = System.Diagnostics.Process.GetProcessById(e.UIElement.ProcessId); if (p.ProcessName.ToLower() != "java") { return(false); } } var selector = new JavaSelector(lastElement, null, true); var a = new GetElement { DisplayName = lastElement.id + " " + lastElement.role + " " + lastElement.Name }; a.Selector = selector.ToString(); a.Image = lastElement.ImageString(); a.MaxResults = 1; e.a = new GetElementResult(a); e.SupportInput = lastElement.SupportInput; e.ClickHandled = true; e.Selector = selector; e.Element = lastElement; lastElement.Click(true, e.Button, 0, 0); return(true); }