반응형

소프트웨어 접근성 62

[소프트웨어 접근성] UI 자동화 요소 탐색기 만들기 실습 - 메인 폼 구현

[소프트웨어 접근성] UI 자동화 요소 탐색기 만들기 실습 - 메인 폼 구현 [그림] 작성할 UI 자동화 요소 탐색기 *Visual Studio 2010으로 작성한 솔루션입니다. 자신의 개발 도구 버전에 맞게 변환하세요. * 이제 폼을 구현할 차례입니다. 먼저 프로세스 새로고침 버튼에 클릭 이벤트 핸들러를 추가합니다. private void btn_refresh_Click(object sender, EventArgs e) { 프로세스 ListBox의 항목을 지웁니다. lbox_process.Items.Clear(); 프로세스 목록을 구합니다. Process[] processes = Process.GetProcesses(); 프로세스 목록의 각 프로세스마다 다음을 반복합니다. foreach (Process..

[소프트웨어 접근성] UI 자동화 요소 탐색기 만들기 실습 - 핵심 클래스 UISearcher 구현

UI 자동화 요소 탐색기 만들기 실습 - 핵심 클래스 UISearcher 구현 [그림] 작성할 UI 자동화 요소 탐색기 이번에는 메인 폼에서 사용자의 명령을 받았을 때 실제 작업을 처리하는 클래스를 정의합시다. 클래스 이름은 UISearcher로 할게요. public class UISearcher 멤버 필드로 래핑한 자동화 요소가 있고 생성자에서 입력 받은 값으로 기억하게 합시다. UI 자동화 요소 탐색기에서는 특정 프로세스를 선택하였을 때 메인 창의 UI 자동화 요소를 기준으로 탐색할 것입니다. 이를 위해서 선택한 프로세스의 메인 창의 UI 자동화 요소를 래핑한 자동화 요소를 생성자의 입력 인자로 전달받아 멤버 필드 wae를 설정합니다. WrapAE wae; public UISearcher(WrapAE..

[소프트웨어 접근성] UI 자동화 요소 탐색기 만들기 실습- 프로세스, 자동화 요소 래퍼

UI 자동화 요소 탐색기 만들기 실습 - 프로세스, 자동화 요소 래퍼 [그림] 작성할 UI 자동화 요소 탐색기 프로세스 목록을 리스트 상자에 표시하고 선택한 프로세스 정보를 기억할 수 있게 래핑한 프로세스 클래스를 추가합시다. WrapProcesss 클래스에 관한 설명은 초점 제어기에서 다루었습니다. 참고하시기 바랍니다. [소프트웨어 접근성] 초점 제어기 만들기 실습 using System.Windows.Automation; namespace UsingTreeWalker { public class WrapAE { public AutomationElement AE { get; private set; } public string Name { get { return AE.Current.Name; } } pub..

[소프트웨어 접근성] UI 자동화 요소 탐색기 만들기 실습 - 컨트롤 배치

UI 자동화 요소 탐색기 만들기 실습 - 컨트롤 배치 이제 TreeWalker 클래스를 이용하여 UI 자동화 요소를 탐색기를 만들어 봅시다. UI 자동화 요소 탐색기는 프로세스 목록을 확인하여 선택하면 활성화 상태의 컨트롤 요소를 트리 뷰에 표시합시다. 그리고 TreeWalker의 정적 TreeWalker로 탐색하여 트리 뷰 항목을 변경하는 기능을 제공합시다. 또한 트리 뷰의 항목을 선택하였을 때 선택한 노드의 UI 자동화 요소를 레이블에 표시하고 자식, 형제, 부모를 찾아 레이블에 표시하는 기능을 제공합시다. [그림] UI 자동화 요소 탐색기 실행 화면 먼저 Windows Forms 응용 프로그램 프로젝트를 생성하시고 UI 자동화 관련 어셈블리를 참조 추가합니다. 그리고 폼에 컨트롤을 배치하세요. [그..

[소프트웨어 접근성] 초점 제어기 만들기 실습

[소프트웨어 접근성] 초점 제어기 만들기 실습 이번에는 SetFocus 메서드를 이용하여 원하는 자동화 요소로 초점을 옮기는 프로그램을 작성합시다. [그림] 초점 제어기 실행화면 초점 제어기를 만들기 전에 타겟 데모 응용 프로그램을 만들기로 합시다. 타겟 데모 응용 프로그램은 12개의 버튼이 있고 1개의 Label이 있습니다. 이 프로그램은 버튼에 초점이 오면 어느 버튼에 초점이 왔는지 Label에 표시하는 응용 프로그램입니다. 먼저 Windows Forms 응용 프로젝트를 생성하세요. 그리고 Form1에 버튼 12개와 Label 1개를 배치하세요. 그리고 Label의 이름 속성을 lb_focus로 설정합니다. Fom1의 FormLoad 이벤트 핸들러를 추가하여 각 버튼에 초점이 왔을 때 lb_focus..

[소프트웨어 접근성 동영상 강의] 포커스 추적기, 자동화 요소 속성 출력

[소프트웨어 접근성 동영상 강의] 포커스 추적기, 자동화 요소 속성 출력 강의 내용 소프트웨어 접근성을 제공하기 위한 UIAutomation 기술을 이용하여 포커스(초점)가 바뀔 때마다 포커스를 소유한 자동화 요소의 자동화 요소 속성을 출력하는 콘솔 응용 프로그램입니다.사용 언어는 C#입니다. 이 강의에서 포커스 트래킹 방법과 자동화 요소의 속성들이 어떠한 것들이 있는지 확인할 수 있습니다. 소프트웨어 접근성, UI 자동화 기술 게시판에서 학습하기언제나 휴일 동영상 강의 보러가기 (모든 동영상은 무료입니다.)*이번에 마이크를 교체하면서 다소 잡음이 섞이네요. 다음에 잡음을 없애도록 노력할게요. * 신체적 환경적 장애에 관계없이 소프트웨어를 접근할 수 있는 기술,소프트웨어 자동화 기술입니다. 그 중 MS사..

[S/W 접근성] 윈도우 옵저버 실습

윈도우 옵저버 실습 이번에는 컴퓨터 시스템에 윈도우가 열고 닫는 것을 관찰하는 윈도우 옵저버를 만들어 봅시다. [그림] 윈도우 옵저버 실행 화면 Form1에는 ListBox 컨트롤(Name: lbox_event)을 추가하였고 Dock속성을 Fill로 주었습니다. 윈도우 닫힘 자동화 이벤트에서는 닫힌 윈도우의 자동화 요소를 전달하지 않습니다. 이를 처리하기 위해 자동화 요소를 래핑한 클래스를 만들어서 내부에서 이를 처리할게요. public class EAE { 윈도우 닫힘 이벤트를 멤버로 추가합니다. public event AutomationEventHandler OnClose; 자동화 요소 이름 가져오기 속성을 제공합시다. public string Name { get; private set; } 생성자에..

[S/W 접근성] ValuePattern, WindowPattern

ValuePattern Value 패턴은 컨트롤 내에 내장 데이터를 갖는 컨트롤에서 지원하는 패턴입니다. System.Object System.Windows.Automation.BasePattern System.Windows.Automation.ValuePattern 네임스페이스: System.Windows.Automation 어셈블리: UIAutomationClient(UIAutomationClient.dll) ValuePattern의 Current 및 Cached 속성으로 ValuePatternInformation 구조체를 접근할 수 있습니다. 그리고 ValuePatternInformation 구조체에는 읽기 전용인지 확인하거나 값을 가져오기 할 수 있는 속성을 제공합니다. 속성명 설명 CanMaxi..

[S/W 접근성] TogglePattern, TransformPattern

TogglePattern TogglePattern은 변할 수 있는 상태의 집합에서 순환 형태로 상태를 설정하는 컨트롤에서 지원하는 패턴입니다. System.Object System.Windows.Automation.BasePattern System.Windows.Automation.TogglePattern 네임스페이스: System.Windows.Automation 어셈블리: UIAutomationClient(UIAutomationClient.dll) TogglePttern의 Current 및 Cached 속성으로 TogglePatternInformation 구조체를 접근할 수 있습니다. 그리고 TogglePatternInformation 구조체에는 Toggle 상태를 가져오기 할 수 있는 속성을 제공합..

[S/W 접근성] TextPattern

TextPattern TextPattern은 텍스트 박스처럼 내부에 텍스트를 갖을 수 있는 컨트롤의 패턴입니다. TextPattern 클래스에서는 텍스트 범위와 선택 영역 지원 형식을 가져오는 속성을 제공합니다.public TextPatternRange DocumentRange { get; };public SupportedTextSelection SupportedTextSelection { get; }; TextPatternRange 클래스는 텍스트의 범위를 나타내는 형식입니다. TextPatternRange 클래스에서는 다양한 메서드를 제공합니다.public void AddToSelection();public bool Compare( TextPatternRange range);public int Com..

반응형