private void OnChanged(object sender, FileSystemEventArgs e) { try { if (!string.IsNullOrEmpty(WatchFilter) && (WatchFilter.Contains(",") || WatchFilter.Contains("|"))) { bool cont = false; var array = WatchFilter.Split(new Char[] { ',', '|' }); foreach (var ext in array) { if (PatternMatcher.FitsMask(e.FullPath, ext)) { cont = true; } } if (!cont) { return; } } TimeSpan timepassed = DateTime.Now - lastTriggered; if (timepassed.Milliseconds < 100) { return; } lastTriggered = DateTime.Now; var _e = new DetectorEvent(e.FullPath); OnDetector?.Invoke(this, _e, EventArgs.Empty); } catch (Exception ex) { Log.Error(ex.ToString()); } }
public void RaiseDetector(Download download) { if (!Running) { return; } var e = new DetectorEvent(download); OnDetector?.Invoke(this, e, EventArgs.Empty); foreach (var wi in client.WorkflowInstances.ToList()) { if (wi.isCompleted) { continue; } if (wi.Bookmarks != null) { foreach (var b in wi.Bookmarks) { if (b.Key == "DownloadDetectorPlugin") { wi.ResumeBookmark(b.Key, e); } } } } }
public void RaiseDetector(Download download) { if (!Running) { return; } var e = new DetectorEvent(download); OnDetector?.Invoke(this, e, EventArgs.Empty); }
private void OnChanged(object sender, FileSystemEventArgs e) { try { TimeSpan timepassed = DateTime.Now - lastTriggered; if (timepassed.Milliseconds < 100) { return; } lastTriggered = DateTime.Now; var _e = new DetectorEvent(e.FullPath); OnDetector?.Invoke(this, _e, EventArgs.Empty); } catch (Exception ex) { Log.Error(ex.ToString()); } }
private void RaiseDetector() { if (!string.IsNullOrEmpty(Processname)) { using (var automation = AutomationUtil.getAutomation()) { var current = automation.FocusedElement(); if (current.Properties.ProcessId.IsSupported) { var ProcessId = automation.FocusedElement().Properties.ProcessId.Value; var p = System.Diagnostics.Process.GetProcessById(automation.FocusedElement().Properties.ProcessId.Value); if (!PatternMatcher.FitsMask(p.ProcessName.ToLower(), Processname.ToLower())) { Log.Information("KeyboardDetector skipped, expected " + Processname + ", but got " + p.ProcessName); return; } } } } OnDetector?.Invoke(this, new DetectorEvent(), EventArgs.Empty); }
public void DetectorCheck(AutomationElement element, FlaUI.Core.Definitions.StructureChangeType e, int[] arg3) { try { if (Entity == null || string.IsNullOrEmpty(Selector)) { return; } TimeSpan timepassed = DateTime.Now - lastTriggered; if (timepassed.Milliseconds < 100) { return; } lastTriggered = DateTime.Now; // if (e != FlaUI.Core.Definitions.StructureChangeType.ChildAdded) return; var pathToRoot = new List <AutomationElement>(); while (element != null) { if (pathToRoot.Contains(element)) { break; } try { if (element.Parent != null) { pathToRoot.Add(element); } } catch (Exception) { } try { element = element.Parent; } catch (Exception ex) { Log.Error(ex, ""); return; } } WindowsSelector selector = new WindowsSelector(Selector); if (pathToRoot.Count < (selector.Count - 1)) { return; } if (pathToRoot.Count > (selector.Count - 1)) { return; } pathToRoot.Reverse(); for (var i = 0; i < pathToRoot.Count; i++) { element = pathToRoot[i]; if (selector.Count > (i + 1)) { WindowsSelectorItem s = new WindowsSelectorItem(selector[(i + 1)]); if (!s.Match(element)) { return; } } else { return; } } var _e = new DetectorEvent(new UIElement(element)); OnDetector?.Invoke(this, _e, EventArgs.Empty); } catch (Exception ex) { Log.Error(ex.ToString()); } }
private void OnMouseUp(InputEventArgs e) { try { if (e.Element == null) { return; } if (Entity == null || string.IsNullOrEmpty(Selector)) { return; } var pathToRoot = new List <AutomationElement>(); AutomationElement element = e.Element.RawElement; while (element != null) { if (pathToRoot.Contains(element)) { break; } try { if (element.Parent != null) { pathToRoot.Add(element); } } catch (Exception) { } try { element = element.Parent; } catch (Exception ex) { element = null; Log.Error(ex, ""); // return; } } WindowsSelector selector = new WindowsSelector(Selector); if (pathToRoot.Count < (selector.Count - 1)) { return; } if (pathToRoot.Count > (selector.Count - 1)) { return; } pathToRoot.Reverse(); for (var i = 0; i < pathToRoot.Count; i++) { element = pathToRoot[i]; WindowsSelectorItem s = new WindowsSelectorItem(selector[(i + 1)]); if (!s.Match(element)) { Log.Verbose("WindowsClickDetectorPlugin: Element " + i + " does not match with selector"); return; } } var _e = new DetectorEvent(e.Element); OnDetector?.Invoke(this, _e, EventArgs.Empty); } catch (Exception ex) { Log.Error(ex.ToString()); } }
private void Hook_OnMouseClicked(int vmID, WindowsAccessBridgeInterop.AccessibleContextNode ac) { if (string.IsNullOrEmpty(Selector)) { return; } var element = new JavaElement(ac); element.SetPath(); Log.Debug("OnMouseClicked: " + element.id + " " + element.role + " " + element.Name); var pathToRoot = new List <JavaElement>(); while (element != null) { if (pathToRoot.Contains(element)) { break; } try { if (element.Parent != null) { pathToRoot.Add(element); } } catch (Exception) { } try { element = element.Parent; } catch (Exception ex) { Log.Error(ex, ""); return; } } JavaSelector selector = new JavaSelector(Selector); if (pathToRoot.Count < (selector.Count - 1)) { return; } if (pathToRoot.Count > (selector.Count - 1)) { return; } pathToRoot.Reverse(); for (var i = 0; i < pathToRoot.Count; i++) { element = pathToRoot[i]; if (selector.Count > (i + 1)) { JavaSelectorItem s = new JavaSelectorItem(selector[(i + 1)]); if (!s.Match(element)) { return; } } else { return; } } var _e = new DetectorEvent(element); OnDetector?.Invoke(this, _e, EventArgs.Empty); }
private void SpeechRecognized(object sender, System.Speech.Recognition.SpeechRecognizedEventArgs e) { var _e = new SpeachEvent(e.Result.Text); OnDetector?.Invoke(this, _e, EventArgs.Empty); }