協助工具工具 - AccEvent (無障礙事件監看員)
AccEvent (Accessible Event Watcher) 可讓開發人員和測試人員在 UI 變更時驗證應用程式的 UI 元素是否引發適當的 Microsoft 消費者介面自動化 和 Microsoft Active Accessibility 事件。 當焦點變更,或叫用、選取 UI 元素或具有狀態或屬性變更時,可能會發生 UI 中的變更。
AccEvent 會隨 Windows 軟體發展工具組 (SDK) 一起安裝。 它位於 SDK 安裝路徑的 \bin\ < version > \ < platform > 資料夾中(Accevent.exe)。
注意
AccEvent 是舊版工具。 建議您改用 協助工具深入解析 。
需求
AccEvent 可用來檢查沒有消費者介面自動化之系統上的協助工具資料,它原本是針對 Microsoft Active Accessibility 所撰寫。 若要檢查消費者介面自動化,消費者介面自動化必須存在於系統上。 如需詳細資訊,請參閱消費者介面自動化 的 一節。
AccEvent 會安裝為 Windows SDK 中整體工具集的一部分,不會以個別的 exe 下載方式散發。 Windows SDK 包含本節記載的所有協助工具相關工具。 取得 Windows SDK。 (如果您需要舊版,也有從該頁面連結的 SDK 下載封存。
若要執行 AccEvent ,請在 \bin\version > \ < < platform > 資料夾中尋找 AccEvent.exe 並加以執行(您通常不需要以系統管理員身分執行)。
可存取的事件監看員視窗
當您啟動 AccEvent 時,會顯示主視窗。 主要 AccEvent 視窗會顯示執行中應用程式所引發消費者介面自動化或 Microsoft Active Accessibility 事件。 主視窗有下列主要部分:
- 標題列。 顯示目前的作業模式和狀態。
- 功能表列。 提供 AccEvent 功能的存取 權。
- 資料檢視。 顯示每個事件的相關資訊,包括引發事件之 UI 元素的事件識別碼和選取的屬性。
AccEvent 只有圖形化使用者介面;此工具沒有命令列引數,但您可以使用其他工具來將輸出記錄檔當作文字來處理。
下圖顯示主要 AccEvent 視窗。
可存取的事件監看員工作
本節包含常用 AccEvent 工作的相關資訊。
設定作業模式
您可以使用 [ 模式 ] 功能表來設定 AccEvent 作業模式,然後選取控制工具行為的設定。 您可以選取下列選項。
選取此選項時 | AccEvent 會執行此工作 |
---|---|
一律在最上芳 | 出現在畫面上任何其他使用者介面的頂端。 |
UIA 事件 | 顯示消費者介面自動化事件的相關資訊。 |
WinEvents (內容中) | 顯示傳遞至伺服器位址空間中連結函式之 Microsoft Active Accessibility 事件 (WinEvents) 的相關資訊。 如需詳細資訊,請參閱 內容攔截函式 。 |
WinEvents (內容不足) | 顯示傳遞至用戶端位址空間中連結函式之 Microsoft Active Accessibility 事件 (WinEvents) 的相關資訊。 如需詳細資訊,請參閱 內容外攔截函式 。 |
顯示醒目提示矩形 | 反白顯示引發所選事件的 UI 元素周圍的矩形。 |
顯示資訊工具提示 | 在工具提示中顯示事件資訊。 |
設定 | 顯示 [UIA 事件設定 ] 或 [WinEvent 設定 ] 對話方塊。 |
篩選消費者介面自動化事件
若要設定 [AccEvent] 視窗中顯示的 消費者介面自動化事件和屬性,請按一下 [模式 ] 功能表,選取 [UIA 事件 ],然後選取 [設定 ]。 [ UIA 事件設定 ] 對話方塊隨即顯示。 您也可以使用此對話方塊來篩選事件。
[ UIA 事件設定 ] 對話方塊包含下列窗格:
全域事件
選取 [ FocusChangedEvent ] 核取方塊,以顯示全域焦點變更事件的相關資訊。
事件種類
選取您感興趣的事件。
範圍
選取您想要 AccEvent 接聽事件的 UI 元素。
包含來自 的事件
如果您從 [範圍 ] 窗格中選取 之 UI 元素的即時子項目看到事件,請 選取 [立即子 系]。 如果您想要查看所有子代元素的事件,請選取 [所有子代 ]。
報表屬性
選取要在主視窗中每個事件之後顯示的屬性。 如果在 [模式 ] 功能表中選取 [顯示資訊工具提示 ],則選取的屬性也會顯示在工具提示中。
篩選作用中協助工具事件
若要設定 [AccEvent] 視窗中顯示的 Microsoft Active Accessibility 事件和屬性,請按一下 [模式 ] 功能表,選取 [WinEvents] 或 [內容中] 或 [WinEvents (內容中] ,然後選取 [設定 ]。 [ WinEvent 設定 ] 對話方塊隨即顯示。 您也可以使用此對話方塊來篩選事件。
[ WinEvent 設定 ] 對話方塊包含下列窗格:
物件
選取您想要 AccEvent 接聽事件的物件。 AccEvent 可以接聽源自視窗、游標或插入號的事件。 預設會選取視窗 。
事件
選取您感興趣的事件。 預設會顯示所有事件。
事件資訊
選取主視窗中每個事件名稱之後所要顯示的資訊。
物件屬性
選取要在主視窗中每個事件之後顯示的屬性。 如果在 [模式 ] 功能表中選取 [顯示資訊工具提示 ],則選取的屬性也會顯示在工具提示中。 預設會選取 [名稱 ]、 [角色 ] 和 [狀態 ]。
篩選
選取篩選區段中的其中一個選項按鈕,以篩選 hWNDs 欄位中指定 視窗所引發的事件。 預設會選取 [不要篩選] 選項按鈕。
- 選取 [ 排除] 選項按鈕,只顯示從指定視窗以外的物件引發的事件。
- 選取 [ 只包含單 選按鈕],並指定一或多個視窗控制碼,只顯示從這些視窗引發的事件。
- 核取 [ 和 子系] 核取方塊,以包含指定視窗子代所引發的事件。
選項
選取下列任一選項:
選取此選項時 AccEvent 會執行此工作 使用 Invoke 使用 IDispatch::Invoke 來擷取物件屬性,而不是使用 IAccessible 方法。 永遠取得物件 (即使未選取任何物件屬性) 即使 [物件屬性] 窗格中未選取任何專案,仍會擷取與事件相關聯的物件。 顯示預設屬性(除了選取的屬性之外) 顯示與事件相關聯之物件的預設屬性,以及 [物件屬性] 窗格中選取的專案。 顯示隱藏/隱藏視窗的事件資訊 顯示所有物件的 [事件資訊] 窗格中選取的專案,包括隱藏或隱藏視窗中的專案。 顯示隱藏/隱藏視窗的完整事件資訊 顯示 [事件資訊] 窗格中的選取專案,以及 [物件屬性] 窗格中選取的專案,以及所有物件的選取專案,包括隱藏或隱藏視窗中的專案。 下一個事件的 DebugBreak 導致產生下一個 WinEvent 的進程發生中斷點例外狀況。 這會發出偵錯工具來處理例外狀況的訊號。
使用事件功能表
使用 [ 事件 ] 功能表來執行下列工作:
選取此選項時 | AccEvent 會執行此工作 |
---|---|
開始接聽 | 開始在 [資料] 檢視中顯示事件資訊。 |
停止接聽 | 停止在 [資料] 檢視中顯示事件資訊。 |
清除事件歷程記錄 | 清除 [資料] 檢視的內容。 |
選取所有事件 | 選取 [資料] 檢視中列出的所有事件。 |
複製選取的事件 | 將選取的事件複製到剪貼簿。 |
儲存使用中協助工具事件
若要開始將事件儲存至文字檔,請開啟 [ 檔案 ] 功能表,然後選取 [ 開始記錄至檔案 ]。 AccEvent 會開始將事件寫入指定的檔案,直到您從 [檔案 ] 功能表中選取 [ 停止記錄 ] 為止。 文字檔對於稍後的疑難排解和檢閱事件很有用。