프로그래밍 기술/소프트웨어 접근성, UI 자동화

9. 접근성 평가 도구 만들기 - 4. WrapWinAPI 클래스 구현

언제나휴일 2016. 10. 19. 08:23
반응형

9.2.2 WrapWinAPI 클래스

 

 접근성 평가 도우미에서는 접근성 평가 프로세스를 선택하면 선택한 프로세스의 메인 창의 정보를 얻어올 것입니다. 과정에서 요소들의 화면 이미지를 캡쳐하는 기능을 구현하려고 하는데 평가 대상 창이 다른 창에 가려져 있을 있어서 초점을 변경하는 메서드를 제공하려 합니다. 여기서 반환하는 것은 초점을 변경하기 이전의 핸들입니다.

 

 접근성 평가 도우미를 확장해서 구현하면 8장에서 래핑했던 Win32 API 제공할 필요도 생길 있습니다. 여기에서는 Win32 API 래핑하는 가장 간단한 방법을 이해하는 수준만 사용하였습니다.

 

using System;
using System.Runtime.InteropServices;
 
namespace 예제_9_접근성_평가_도우미
{
    public static class WrapWinAPI
    {
        [DllImport("user32.dll")]
        static extern IntPtr SetFocus(IntPtr handle);
        [DllImport("user32.dll")]
        static extern IntPtr GetFocus();
        public static IntPtr ChangeFocus(IntPtr handle)
        {
            IntPtr ohandle = GetFocus();
            SetFocus(handle);
            return ohandle;
        }
    }
}

[소스 9.2] WrapWinAPI.cs

반응형