private void Pipeclient_ServerMessage(NamedPipeConnection <SAPEvent, SAPEvent> connection, SAPEvent message) { try { if (replyqueue.ContainsKey(message.messageid)) { lock (replyqueue) { var e = replyqueue[message.messageid]; e.reply = message; if (e.reset != null) { e.reset.Set(); } replyqueue.Remove(message.messageid); return; } } } catch (Exception ex) { Log.Error(ex.ToString()); } try { if (message.action == "recorderevent") { var data = message.Get <SAPRecordingEvent>(); if (data != null) { Log.Debug(message.action + " " + data.ActionName + " " + data.Id); } else { Log.Debug(message.action); } var r = new RecordEvent(); r.SupportInput = false; r.SupportSelect = false; r.ClickHandled = true; if (data.Action == "InvokeMethod") { var a = new InvokeMethod(); a.Path = data.Id; a.ActionName = data.ActionName; a.SystemName = data.SystemName; if (data.Parameters != null) { a.Parameters = data.Parameters; for (var i = 0; i < data.Parameters.Length; i++) { var name = "param" + i.ToString(); } } r.a = new GetElementResult(a); } if (data.Action == "SetProperty") { var a = new SetProperty(); a.Path = data.Id; a.ActionName = data.ActionName; a.SystemName = data.SystemName; if (data.Parameters != null) { a.Parameters = data.Parameters; for (var i = 0; i < data.Parameters.Length; i++) { var name = "param" + i.ToString(); } } r.a = new GetElementResult(a); } if (r != null) { Plugin.Instance.RaiseUserAction(r); } } else if (message.action == "mousedown") { LastEventElement = message.Get <SAPEventElement>(); LastElement = new SAPElement(null, LastEventElement); // Log.Output("SAP " + message.action + " " + LastElement.id); } else if (message.action == "mousemove") { LastEventElement = message.Get <SAPEventElement>(); LastElement = new SAPElement(null, LastEventElement); // Log.Output("SAP " + message.action + " " + LastElement.id + " " + LastElement.Path); } else { // Log.Output("SAP " + message.action); } } catch (Exception ex) { Log.Error(ex.ToString()); } }
async private void OnMouseUp(InputEventArgs e) { try { IRecordEvent re = new RecordEvent { Button = e.Button }; re.Selector = new WindowsSelector(e.Element.RawElement, null, false); if (re.Selector == null) { return; } if (re.Selector.Count < 2) { return; } re.OffsetX = e.X - e.Element.Rectangle.X; re.OffsetY = e.Y - e.Element.Rectangle.Y; re.UIElement = e.Element; re.Element = e.Element; re.X = e.X; re.Y = e.Y; foreach (var p in Plugins.recordPlugins) { // if (p.Name != "Windows") if (p.Name == "IE" || p.Name == "Java" || p.Name == "NM") { try { if (p.ParseUserAction(ref re)) { continue; } } catch (Exception ex) { Log.Error(ex.ToString()); } } } if (e.Element == null) { return; } var i = new mouseevent(re); try { await global.webSocketClient.InsertOne(PluginConfig.collectionname, 0, false, i); } catch (Exception ex) { Log.Error(ex.ToString()); } } catch (Exception ex) { Log.Error(ex.ToString()); } }
private void OnMouseUp(InputEventArgs e) { try { //if (e.Element == null) return; //var pathToRoot = new List<AutomationElement>(); //AutomationElement element = e.Element.RawElement; //WindowsSelector selector = new WindowsSelector(element, null, false); //var json = selector.ToString(); //var i = new dbitem() { Selector = JArray.Parse(json) }; //_ = global.webSocketClient.InsertOne(PluginConfig.collectionname, 0, false, i); IRecordEvent re = new RecordEvent { Button = e.Button }; re.Selector = new WindowsSelector(e.Element.RawElement, null, false); if (re.Selector == null) { return; } if (re.Selector.Count < 2) { return; } re.OffsetX = e.X - e.Element.Rectangle.X; re.OffsetY = e.Y - e.Element.Rectangle.Y; re.UIElement = e.Element; re.Element = e.Element; re.X = e.X; re.Y = e.Y; foreach (var p in Plugins.recordPlugins) { // if (p.Name != "Windows") if (p.Name == "IE" || p.Name == "Java" || p.Name == "NM") { try { if (p.ParseUserAction(ref re)) { continue; } } catch (Exception ex) { Log.Error(ex.ToString()); } } } if (e.Element == null) { return; } var i = new mouseevent(re); _ = global.webSocketClient.InsertOne(PluginConfig.collectionname, 0, false, i); } catch (Exception ex) { Log.Error(ex.ToString()); } }