예제 #1
0
        public async Task <List <WindowInfo> > Index()
        {
            var xWindows = new List <WindowInfo>();

            await Dispatcher.UIThread.InvokeTaskAsync(() =>
            {
                foreach (var xWindow in Window.OpenWindows)
                {
                    xWindows.Add(DataCreators.Create(xWindow));
                }
            });

            return(xWindows);
        }
        public async Task <AutomationElementInfo> Index([FromQuery] long windowHandle, [FromQuery] string automationId)
        {
            var xResult = new List <AutomationElementInfo>();

            await Dispatcher.UIThread.InvokeTaskAsync(() =>
            {
                var xWindow = Window.OpenWindows.FirstOrDefault(i => i.PlatformImpl.Handle.Handle.ToInt64() == windowHandle);
                if (xWindow == null)
                {
                    throw new Exception("Window not found!");
                }
                var xControl    = xWindow.FindControl <Control>(automationId);
                var xResultItem = DataCreators.Create(xControl);
                xResult.Add(xResultItem);
            });

            return(xResult.FirstOrDefault());
        }