IUIAutomation::AddFocusChangedEventHandler 方法 (uiautomationclient.h)
註冊處理焦點變更事件的方法。
注意 實作事件處理程式之前,您應該先熟悉了解 線程問題中所述的線程問題。
語法
HRESULT AddFocusChangedEventHandler(
[in] IUIAutomationCacheRequest *cacheRequest,
[in] IUIAutomationFocusChangedEventHandler *handler
);
參數
[in] cacheRequest
類型: IUIAutomationCacheRequest*
快取要求的指標,如果沒有想要快取,則為 NULL 。
[in] handler
類型: IUIAutomationFocusChangedEventHandler*
處理事件之 物件的指標。
傳回值
類型: HRESULT
如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。
備註
焦點變更事件全系統;您無法設定較窄的範圍。
使用者介面自動化 客戶端不應該使用多個線程來新增或移除事件處理程式。 如果在相同客戶端進程中新增或移除另一個事件處理程式時,就會產生非預期的行為。
範例
下列範例函式會建立實作 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 和 Platform Update for Windows Vista、Windows XP 含 SP3 和適用於 Windows Vista 的平臺更新 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 R2、Windows Server 2008 SP2 和 Platform Update for Windows Server 2008、Windows Server 2003 SP2 和 Platform Update for Windows Server 2008 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | uiautomationclient.h (包含 UIAutomation.h) |
另請參閱
概念
IUIAutomationFocusChangedEventHandler
參考