WinEvent 識別碼的配置
每個 WinEvent 僅供特定用途使用。 針對非預期用途使用 WinEvent 可能會導致與其他應用程式或作業系統發生衝突,這可能會導致應用程式或作業系統變得不穩定。
Microsoft 已定義數個不同的 WinEvent 類別,而且針對每個類別,已定義一或多個值範圍,以作為 WinEvent 識別碼使用。 社群保留範圍 (0xA000—0xAFFF) 適用于需要定義新 WinEvents 的應用程式。 使用此範圍中的值有助於降低衝突的風險;不過,建立新 WinEvents 的開發人員仍然需要共同作業,以避免其應用程式發生衝突。
下表顯示 WinEvent 類別和為每個類別定義的值範圍。
類別 | 範圍 | 目前使用中 | 註解 |
---|---|---|---|
Microsoft Active Accessibility events (System Reserved) | 0x0001-0x00FF | 0x0001-0x0020 | EVENT_SYSTEM_* 事件識別碼 |
Microsoft Active Accessibility events (System Reserved) | 0x4001-0x40FF | 0x4001-0x4007 | EVENT_CONSOLE_* 事件識別碼 |
(系統保留) 消費者介面自動化事件 | 0x4E00-0x4EFF | 0x4E20-0x4E33 | 消費者介面自動化事件識別碼 |
(系統保留) 消費者介面自動化事件 | 0x7500-0x75FF | 0x7530-0x759B | 消費者介面自動化屬性變更的事件識別碼 |
Microsoft Active Accessibility events (System Reserved) | 0x8000-0x80FF | 0x8000-0x8015 | EVENT_OBJECT_* 事件識別碼 |
OEM 保留 | 0x0101-0x01FF | 0x0101-0x0122 | IAccessible2 事件識別碼 |
社群保留 | 0xA000-0xAFFF | 無 | 保留給協助工具互通性聯盟所定義的新事件, (AIA) 規格 |
ATOM | 0xC000-0xFFFF | 0xC000-0xFFFF | 保留給執行時間配置的自訂事件 |
下列主題會更詳細地描述 WinEvent 範圍。
Microsoft Active Accessibility and 消費者介面自動化 Events
WinEvent 識別碼的五個範圍會保留供 Microsoft Active Accessibility 和 Microsoft 消費者介面自動化使用。 第一個範圍 (0x0001—0x00FF) 保留給系統層級事件,通常用於描述影響系統中所有應用程式的情況。 第二個範圍 (0x4001—0x40FF) 保留給 Windows 主控台特定事件。 第三個 (0x4E00 0x4EFF) 和第四個範圍 (0x7500,0x75FF) 用於反映消費者介面自動化事件。 最後,第五個範圍 (0x8000—0x80FF) 適用于與一個應用程式內物件特定情況相關的物件層級事件。
所有 Microsoft Active Accessibility 和 消費者介面自動化 事件都會定義在 WinUser.h 和 UIAutomationClient.h 標頭檔中。
OEM 保留事件
OEM 保留範圍開放給需要使用 WinEvents 作為通訊機制的任何人。 開發人員應該定義和發佈事件定義及其參數 (,或與事件處理) 相關聯的物件類型,以避免意外衝突的事件識別碼。 IAccessible2 規格使用 OEM 保留範圍的一部分。
社群保留活動
社群保留範圍適用于協助工具互通性聯盟所指定的 WinEvent, (AIA) 供業界使用。 強烈建議開發人員先定義及發佈官方規格,再使用此範圍中的值。
ATOM 事件
ATOM 範圍會保留給透過消費者介面自動化擴充性 API 在執行時間配置的事件識別碼。 請勿將 ATOM 範圍中的值用於任何其他用途。 使用 GlobalAddAtom 函式搭配字串 GUID 是從 ATOM 範圍配置 WinEvent 的建議方法。
使用保留範圍中的值
根據 WinEvent 規格,系統保留範圍或任何其他未定義範圍的值,若未修改 SDK,就無法使用。 針對新的 WinEvents,應用程式應該使用 OEM 保留或社群保留範圍中的值。 在使用新的 WinEvent 之前,強烈建議開發人員開放且廣泛地共用其規格,並應與協助工具互通性聯盟合作來定義 WinEvent 規格。
相關主題