共用方式為


配置 WinEvent 識別符

每個 WinEvent 僅供特定用途使用。 將 WinEvent 用於非預期用途可能會導致與其他應用程式或作系統發生衝突,這可能會導致應用程式或作系統變得不穩定。

Microsoft已定義數個不同的 WinEvents 類別,而且針對每個類別,已定義一或多個值範圍,以做為 WinEvent 標識符。 社群保留範圍 (0xA000 — 0xAFFF) 適用於需要定義新 WinEvents 的應用程式。 使用此範圍中的值有助於降低衝突的風險;不過,建立新 WinEvents 的開發人員仍然需要共同作業,以避免應用程式之間發生衝突。

下表顯示 WinEvent 類別和針對每個類別定義的值範圍。

類別 範圍 目前使用中 評論
Microsoft使用中輔助功能事件 (系統保留) 0x0001-0x00FF 0x0001-0x0020 EVENT_SYSTEM_* 事件識別符
Microsoft使用中輔助功能事件 (系統保留) 0x4001-0x40FF 0x4001-0x4007 EVENT_CONSOLE_* 事件識別符
UI 自動化事件 (系統保留) 0x4E00-0x4EFF 0x4E20-0x4E33 UI 自動化事件標識碼
UI 自動化事件 (系統保留) 0x7500-0x75FF 0x7530-0x759B UI Automation 屬性變更的事件標識碼
Microsoft使用中輔助功能事件 (系統保留) 0x8000-0x80FF 0x8000-0x8015 EVENT_OBJECT_* 事件識別符
OEM 保留 0x0101-0x01FF 0x0101-0x0122 IAccessible2 事件標識符
社群保留 0xA000-0xAFFF 沒有 保留給輔助功能互作性聯盟 (AIA) 規格所定義的新事件
原子 0xC000-0xFFFF 0xC000-0xFFFF 保留給在運行時間配置的自定義事件

 

下列主題會更詳細地描述 WinEvent 範圍。

Microsoft Active Accessibility 和 UI Automation 事件

WinEvent 標識符的五個範圍會保留供Microsoft Active Accessibility 和 Microsoft UI 自動化使用。 第一個範圍 (0x0001— 0x00FF) 會保留給系統層級事件,通常用於描述影響系統中所有應用程式的情況。 第二個範圍 (0x4001 — 0x40FF) 會保留給 Windows 主控控台特定事件。 第三個 (0x4E00 — 0x4EFF) 和第四個範圍 (0x7500 — 0x75FF) 是用於反映 UI 自動化事件。 最後,第五個範圍(0x8000—0x80FF)適用於與一個應用程式內物件特定情況相關的物件層級事件。

所有Microsoft Active Accessibility 和 UI Automation 事件都會定義於 WinUser.h 和 UIAutomationClient.h 頭檔中。

OEM 保留事件

OEM 保留範圍開放給任何需要使用 WinEvents 做為通訊機制的人員。 開發人員應該定義事件定義併發佈事件定義及其參數(或與相關聯的物件類型),以便避免事件標識碼的意外衝突。 IAccessible2 規格使用 OEM 保留範圍的一部分。

社群保留事件

社群保留範圍適用於輔助功能互作性聯盟 (AIA) 所指定的 WinEvents,用於整個產業。 強烈建議開發人員先定義及發佈官方規格,再使用此範圍中的值。

ATOM 事件

ATOM 範圍會保留給透過UI自動化擴充性 API 在運行時間配置的事件識別碼。 請勿將 ATOM 範圍中的值用於任何其他用途。 使用 GlobalAddAtom 函式搭配字元串 GUID,是從 ATOM 範圍配置 WinEvents 的建議方法。

使用保留範圍中的值

根據 WinEvent 規格,系統保留範圍或任何其他未定義範圍的值,若未修改 SDK,就無法使用。 針對新的 WinEvents,應用程式應該使用 OEM 保留範圍或社群保留範圍中的值。 在使用新的 WinEvent 之前,強烈建議開發人員公開且廣泛地共用其規格,並應與輔助功能互作性聯盟合作,以定義 WinEvent 規格。

WinEvents

輔助功能互作性聯盟