화면 좌표로 InvokePattern 검색
응용 프로그램 설정
화면 좌표로 InvokePattern(버튼이나 메뉴처럼 명령 가능한 컨트롤 요소) 요소를 검색하여 자동화 요소 속성 출력
응용 프로그램 유형
C# 콘솔 응용 프로그램
요구조건
UI 자동화 .NET 어셈블리 참조(솔루션 탐색기의 프로젝트의 참조 노드에 마우스 오른쪽 버튼 클릭하여 컨텍스트 메뉴에서 참조 추가)
[그림] UI 자동화 기술 참조 추가
using System;
using System.Windows.Automation;
using System.Windows;
using System.Collections.Generic;
namespace 패턴_검색
{
class Program
{
static void Main(string[] args)
{
AutomationElement ae = AutomationElement.RootElement;
Rect rect = ae.Current.BoundingRectangle;
AutomationElement sae;
Dictionary<int, AutomationElement> dictionary =
new Dictionary<int, AutomationElement>();
for (int x = 0; x < rect.Right; x = x + 20)
{
for (int y = 0; y < rect.Bottom; y += 20)
{
sae = AutomationElement.FromPoint(new Point(x, y));
dictionary[sae.Current.NativeWindowHandle] = sae;
Console.Write(".");
}
}
Console.WriteLine("요소 개수:{0}", dictionary.Count);
InvokePattern ip = null;
foreach (AutomationElement dae in dictionary.Values)
{
try
{
ip = dae.GetCurrentPattern(InvokePattern.Pattern) as InvokePattern;
if (ip != null)// && dae.Current.Name != null)
{
Console.WriteLine(dae.Current.Name);
}
}
catch
{
}
}
Console.ReadKey();
}
}
}
'.NET > 소프트웨어 접근성, UI 자동화' 카테고리의 다른 글
[S/W 접근성] TreeWalker를 이용하여 데스크 톱의 자식 요소 조사 (0) | 2016.04.19 |
---|---|
[S/W 접근성] 화면 좌표로 UI 요소 탐색 후 속성 타입 얻어오기 (0) | 2016.04.19 |
[S/W 접근성] 화면 좌표로 UI 요소 탐색 (0) | 2016.04.19 |
[S/W 접근성] 포커스 소유한 자동화 요소 속성 출력 (0) | 2016.04.19 |
[S/W 접근성] 포커스 트래커 (0) | 2016.04.19 |