Esempio n. 1
0
 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());
     }
 }
Esempio n. 2
0
        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());
     }
 }
Esempio n. 5
0
 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());
     }
 }
Esempio n. 8
0
        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);
        }
Esempio n. 9
0
        private void SpeechRecognized(object sender, System.Speech.Recognition.SpeechRecognizedEventArgs e)
        {
            var _e = new SpeachEvent(e.Result.Text);

            OnDetector?.Invoke(this, _e, EventArgs.Empty);
        }