IUIAutomation::AddFocusChangedEventHandler 메서드(uiautomationclient.h)
포커스 변경 이벤트를 처리하는 메서드를 등록합니다.
참고 이벤트 처리기를 구현하기 전에 스레딩 문제 이해에 설명된 스레딩 문제에 대해 잘 알고 있어야 합니다.
구문
HRESULT AddFocusChangedEventHandler(
[in] IUIAutomationCacheRequest *cacheRequest,
[in] IUIAutomationFocusChangedEventHandler *handler
);
매개 변수
[in] cacheRequest
형식: IUIAutomationCacheRequest*
캐시 요청에 대한 포인터이거나 캐싱이 필요하지 않은 경우 NULL 입니다.
[in] handler
형식: IUIAutomationFocusChangedEventHandler*
이벤트를 처리하는 개체에 대한 포인터입니다.
반환 값
형식: HRESULT
메서드가 성공하면 S_OK를 반환하고, 그러지 않으면 HRESULT 오류 코드를 반환합니다.
설명
포커스 변경 이벤트는 시스템 전체입니다. 더 좁은 scope 설정할 수 없습니다.
UI 자동화 클라이언트는 여러 스레드를 사용하여 이벤트 처리기를 추가하거나 제거해서는 안 됩니다. 동일한 클라이언트 프로세스에서 다른 이벤트 처리기가 추가되거나 제거되는 동안 한 이벤트 처리기가 추가되거나 제거되는 경우 예기치 않은 동작이 발생할 수 있습니다.
예제
다음 예제 함수는 IUIAutomationFocusChangedEventHandler 를 구현하고 처리기를 추가하여 이벤트를 구독하는 개체를 만듭니다.
HRESULT AddFocusHandler(IUIAutomation* pAutomation)
{
// CFocusHandler is a class that implements IUIAutomationFocusChangedEventHandler.
CFocusHandler* pFocusHandler = new CFocusHandler();
if (!pFocusHandler)
{
return E_OUTOFMEMORY;
}
IUIAutomationFocusChangedEventHandler* pHandler;
pFocusHandler->QueryInterface(IID_IUIAutomationFocusChangedEventHandler, (void**)&pHandler);
HRESULT hr = pAutomation->AddFocusChangedEventHandler(NULL, pHandler);
pFocusHandler->Release();
return hr;
}
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 7, WINDOWS Vista SP2 및 Windows Vista용 플랫폼 업데이트, WINDOWS XP SP3 및 Windows Vista용 플랫폼 업데이트 [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 R2, Windows Server 2008 SP2 및 Windows Server 2008용 플랫폼 업데이트, Windows Server 2003 SP2 및 Windows Server 2008용 플랫폼 업데이트 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | uiautomationclient.h(UIAutomation.h 포함) |
추가 정보
개념
IUIAutomationFocusChangedEventHandler
참조