Example #1
0
        public Activity Create(System.Windows.DependencyObject target)
        {
            var fef = new GetElement();
            var aa  = new ActivityAction <ImageElement>();
            var da  = new DelegateInArgument <ImageElement>();

            da.Name     = "item";
            fef.Body    = aa;
            aa.Argument = da;
            return(fef);
        }
Example #2
0
        public Activity Create(System.Windows.DependencyObject target)
        {
            Type t          = typeof(GetElement);
            var  wfdesigner = Plugin.client.Window.LastDesigner;

            WFHelper.DynamicAssemblyMonitor(wfdesigner.WorkflowDesigner, t.Assembly.GetName().Name, t.Assembly, true);
            var fef = new GetElement();
            var aa  = new ActivityAction <ImageElement>();
            var da  = new DelegateInArgument <ImageElement>();

            da.Name     = "item";
            fef.Body    = aa;
            aa.Argument = da;
            return(fef);
        }
Example #3
0
 public GetElementResult(GetElement activity)
 {
     Activity = activity;
 }
Example #4
0
        public bool ParseUserAction(ref IRecordEvent e)
        {
            if (e.UIElement == null)
            {
                return(false);
            }

            if (e.UIElement.Type != "Pane")
            {
                return(false);
            }
            var element = e.UIElement.RawElement;

            string Processname = "";

            if (e.UIElement.ProcessId > 0)
            {
                var p = System.Diagnostics.Process.GetProcessById(e.UIElement.ProcessId);
                if (p.ProcessName == "iexplore" || p.ProcessName == "iexplore.exe")
                {
                    return(false);
                }
                if (p.ProcessName.ToLower() == "chrome" || p.ProcessName.ToLower() == "firefox")
                {
                    return(false);
                }
                Processname = p.ProcessName;
            }


            NativeMethods.SetCursorPos(e.X - 80, e.Y - 80);

            var a = new GetElement
            {
                Threshold   = 0.9,
                Processname = Processname
            };

            e.SupportInput  = false;
            e.SupportSelect = false;
            var image = getrectangle.GuessContour(element, e.OffsetX, e.OffsetY, out int newOffsetX, out int newOffsetY, out System.Drawing.Rectangle resultrect);

            if (image == null)
            {
                var tip = new Interfaces.Overlay.TooltipWindow("Failed Guessing Contour, please select manually");
                tip.SetTimeout(TimeSpan.FromSeconds(2));
                e.OffsetX = 10;
                e.OffsetY = 10;
                e.a       = new GetElementResult(a);
                return(true);
            }
            e.OffsetX = newOffsetX;
            e.OffsetY = newOffsetY;
            e.Element = new ImageElement(resultrect, image);

            a.Image = Interfaces.Image.Util.Bitmap2Base64(image);
            e.a     = new GetElementResult(a);

            NativeMethods.SetCursorPos(e.X, e.Y);

            return(true);
        }
Example #5
0
        public bool parseUserAction(ref IRecordEvent e)
        {
            if (e.UIElement == null)
            {
                return(false);
            }

            if (e.UIElement.Type != "Pane")
            {
                return(false);
            }
            var element = e.UIElement.RawElement;

            string Processname = "";

            if (e.UIElement.ProcessId > 0)
            {
                var p = System.Diagnostics.Process.GetProcessById(e.UIElement.ProcessId);
                if (p.ProcessName == "iexplore" || p.ProcessName == "iexplore.exe")
                {
                    return(false);
                }
                if (p.ProcessName.ToLower() == "chrome" || p.ProcessName.ToLower() == "firefox")
                {
                    return(false);
                }
                Processname = p.ProcessName;
            }


            FlaUI.Core.Shapes.Point point = new FlaUI.Core.Shapes.Point(e.X - 80, e.Y - 80);
            if (point.X < 0)
            {
                point.X = e.X + 80;
            }
            if (point.Y < 0)
            {
                point.Y = e.Y + 80;
            }
            FlaUI.Core.Input.Mouse.MoveTo(point);

            var a = new GetElement();

            a.Threshold    = 0.9;
            a.Processname  = Processname;
            e.SupportInput = false;
            int newOffsetX; int newOffsetY; System.Drawing.Rectangle resultrect;
            var image = getrectangle.GuessContour(element, e.OffsetX, e.OffsetY, out newOffsetX, out newOffsetY, out resultrect);

            if (image == null)
            {
                var tip = new Interfaces.Overlay.TooltipWindow("Failed Guessing Contour, please select manually");
                tip.SetTimeout(TimeSpan.FromSeconds(2));
                e.OffsetX = 10;
                e.OffsetY = 10;
                e.a       = new GetElementResult(a);
                return(true);
            }
            e.OffsetX = newOffsetX;
            e.OffsetY = newOffsetY;
            e.Element = new ImageElement(resultrect, image);

            a.Image = Interfaces.Image.Util.Bitmap2Base64(image);
            e.a     = new GetElementResult(a);

            point.X = e.X; point.Y = e.Y;
            FlaUI.Core.Input.Mouse.MoveTo(point);

            return(true);
        }