반응형

C# 프로그래밍 22

9. 접근성 평가 도구 만들기 - 1. 소개

9. 평가 도구 만들기 이번 장에서는 UI 자동화 기술을 이용하여 소프트웨어 접근성 평가할 때 응용 프로그램의 창의 UI 정보를 수집하여 편의성을 제공하는 도구를 만들어 봅시다. 여기서 만들 응용 프로그램의 이름은 접근성 평가 도우미라고 하겠습니다. 9. 1 접근성 평가 도우미 구조 접근성 평가 도우미의 화면 구성은 평가 프로젝트를 생성하고 평가 대상의 계층 구조와 요약 정보를 보여주는 MainForm과 평가 프로젝트 생성 과정에서 프로세스를 선택하는 폼, 실행 가능한 요소 항목을 보여주고 프로그램 방식으로 Invoke를 수행하게 하는 폼, 평가 대상을 이미지로 보여주는 폼, 특정 UI 요소의 사각 영역에 프로그램 방식의 하이라이트를 만들어주는 폼으로 구성할게요. [그림 9.1] 평가 도우미 폼 클래스 ..

[네트워크 보안] 3. SharpPcap 이용하여 패킷 캡쳐 맛보기

[네트워크 보안] 3. SharpPcap 이용하여 패킷 캡쳐 맛보기 안녕하세요. 언제나 휴일, 언휴예요. 앞에서 SharpPcap 설치와 ICaptureDevcie 의 목록을 확인해 보았죠.[네트워크 보안] 1. SharpPcap 설치 및 테스트[네트워크 보안] 2. SharpPcap의 ICaptureDevice 맛보기 하지만 실질적인 네트워크 상에 흐르는 패킷을 캡쳐하는 작업을 하지 않아 밋밋한 느낌을 받으신 분들도 많았을 거예요. 이번에는 드디어 SharpPcap 라이브러리를 이용하여 캡쳐를 원하는 장치를 선택하여 해당 장치에 지나다니는 패킷을 캡쳐하는 프로그램을 만들어 볼 거예요. 다음은 이번에 작성할 프로그램의 실행 화면이예요. 보시는 것처럼 아직까지는 패킷의 실질적인 데이터를 분석하는 기능은 넣..

[네트워크 보안] 2. SharpPcap의 ICaptureDevice 맛보기

[네트워크 보안] 2. SharpPcap의 ICaptureDevice 맛보기 안녕하세요. 언제나 휴일, 언휴예요. 앞에서 SharpPcap 라이브러리를 설치하고 네트워크 인터페이스 장치 목록을 출력하는 콘솔 응용 프로그램을 만들어 테스트 해 보았어요. [네트워크 보안] 1. SharpPcap 설치 및 테스트 이번에는 네트워크 인터페이스 장치에 관하여 추상화한 ICaptureDevice 인터페이스 형식에 관해 간략하게 맛보기로 할게요. ICaptureDevcie 인터페이스의 멤버는 다음과 같아요.//추적 장치 인터페이스public interface ICaptureDevice{ //설명 string Description { get; } //추적 필터 http://www.winpcap.org/docs/docs..

[네트워크 보안] 1. SharpPcap 설치 및 테스트

[네트워크 보안] 1. SharpPcap 설치 및 테스트 안녕하세요. 언제나 휴일, 언휴예요. 다양한 서비스들이 온라인을 통해 제공하는 것이 점차 많아지고 개인 정보들이 여러 서비스에서 사용하면서 네트워크 보안의 중요성은 점점 관심을 갖고 있죠. 20여년 전에도 TCPDUMP 유틸리티를 이용하여 네트워크 트래픽을 모니터링하는 작업은 심심치 않게 많은 엔지니어들이 했었어요. 지금은 많은 기술 발전에 의해 와이어샤크 처럼 네트워크 트래픽을 추적하는 무료 소프트웨어에서부터 다양한 DMZ를 형성하는 장비 등이 나와 있죠. 언제나 휴일 티스토리에서는 다양한 환경에서 다양한 기술을 사용하여 네트워크 보안에 관한 글들을 게시할 예정입니다. 그리고 출발점에서 네트워크 프로토콜을 정리하고 이를 분석하는 유틸 개발하는 방..

[소프트웨어 접근성] 가상 키보드 만들기 8 - 가상 키보드 만들기

[소프트웨어 접근성] 가상 키보드 만들기 8 - 가상 키보드 만들기 윈도우즈 폼 응용 프로젝트를 추가한 후에 키보드 이벤트와 마우스 이벤트 처리를 위한 WrapNative 클래스를 추가하세요. 이 부분은 앞에서 설명한 부분이라 별도의 설명은 생략할게요. 아래의 소스 코드를 참고하세요.

[소프트웨어 접근성] 가상 키보드 만들기 7 - 가상 키보드 타겟 데모

[소프트웨어 접근성] 가상 키보드 만들기 7 - 가상 키보드 타겟 데모 테스트를 위한 타겟 데모를 먼저 만들기로 합시다. 네 개의 텍스트 상자와 하나의 리스트 상자를 추가하세요. 리스트 상자의 컨트롤 이름은 lbox_message로 정할게요.[그림] 컨트롤 배치 네 개의 텍스트 상자의 KeyDown 이벤트 핸들러를 같은 이름의 핸들러로 추가하세요. 여기에서는 이벤트 핸들러 이름을 textBox_KeyDown으로 정할게요. private void textBox_KeyDown(object sender, KeyEventArgs e) { sender 를 TextBox 형식 개체로 참조 연산합니다. TextBox tbox = sender as TextBox; 이벤트 인자의 KeyData 속성으로 메시지 문자열을 ..

[소프트웨어 접근성] 가상 키보드 만들기 6 -한글 라이브러리 만들기

[소프트웨어 접근성] 가상 키보드 만들기 6 -한글 라이브러리 만들기 이제 한글 문자 생성기에서 익힌 기술을 이용하여 한글 라이브러리를 만들어 봅시다. 한글 라이브러리에는 외부에서 접근해서 사용하는 Hangul 클래스와 실제 한글을 만드는 정적 클래스 KoreanCharMaker 클래스, 현재 입력하고 있는 상태(초성, 중성, 종성이 올 차례)를 나타내는 HangulState 클래스와 와 열거형 HGState로 구성합시다. 한글 클래스는 한글 키나 다른 키를 입력받는 메서드와 리셋하는 메서드를 제공합니다. 먼저 클래스 라이브러리 프로젝트 템플릿으로 EHHangulLibrary 프로젝트틀 생성하세요. 솔루션 이름은 한글 오토마타로 정할게요. [그림] 한글 라이브러리의 클래스 구성 먼저 앞에서 만들었던 한글..

[소프트웨어 접근성] 가상 키보드 만들기 5 -한글 문자 생성기

[소프트웨어 접근성] 가상 키보드 만들기 5 -한글 문자 생성기 먼저 한글 문자 생성기를 정적 클래스 KoreanCharMaker로 정의합시다. public static class KoreanCharMaker { 먼저 한글 문자가 시작하는 BASE CODE(0xAC00), 초성 시작점(0x1100), 중성 시작점(0x1161)을 상수로 선언합니다. const int BASE_CODE = 0xAC00; const int BASE_INIT = 0x1100; const int BASE_VOWEL = 0x1161; 한글과 관련있는 자판 문자를 초성, 중성, 종성과 쉬프트 키를 정적 문자열로 선언합니다. //한글 코드 값 = 초성*중성개수*종성 개수+중성 *종성개수+종성+BASE 코드(0xAC00) const i..

[소프트웨어 접근성] 가상 키보드 만들기 3 - 마우스 이벤트 예광탄

[소프트웨어 접근성] 가상 키보드 만들기 3 - 마우스 이벤트 예광탄 이번에는 가상 키보드에 필요한 것은 아니지만 가상 마우스를 만든다고 하면 프로그램 방식으로 마우스 이벤트를 발생하는 방법을 알아야 합니다. 프로그램 방식으로 키보드 이벤트를 발생하는 부분과 비슷하므로 같이 다루기로 할게요. [그림] 마우스 이벤트 예광탄 실행화면 및 컨트롤 배치 Windows 32 API에서는 프로그램 방식으로 마우스 이벤트를 발생시키는 mouse_event 함수를 제공하고 있습니다. 다음은 프로그램 방식으로 키보드 이벤트를 발생시키는 mouse_event 함수 원형입니다. WINUSERAPI VOID WINAPI mouse_event( __in DWORD dwFlags, __in DWORD dx, __in DWORD ..

[소프트웨어 접근성] 가상 키보드 만들기 1

[소프트웨어 접근성] 가상 키보드 만들기 1 이번 장에서는 보조 기술을 만들 때 필요한 기술을 학습해 봅시다. 보조 기술은 키보드나 마우스, 모니터처럼 사용자와 상호작용하는 표준 장치를 대신하는 장치 혹은 소프트웨어를 말합니다. 보조 기술에는 소프트웨어 키보드와 돋보기, 스피치, 점자 인식기 등이 있습니다. 이와 같은 기술에서는 UI 자동화 기술을 이용하여 상태 변화나 명령을 내릴 수 있습니다. 여기에서는 UI 자동화 기술 외에도 프로그램 방식으로 키보드 이벤트나 마우스 이벤트를 발생시키는 방법 등도 다룰 것입니다. 그리고 최종적으로 [그림]처럼 간단한 가상 키보드를 만드는 실습을 할 것입니다. [그림] 가상 키보드 실행화면 가상 키보드 만들기 결과물 자신의 개발 환경에 맞게 변환하세요. 관련 게시글[소..

반응형