1e41f4b71Sopenharmony_ci# WindowManager_NativeModule 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci 4e41f4b71Sopenharmony_ci## 概述 5e41f4b71Sopenharmony_ci 6e41f4b71Sopenharmony_ci提供应用窗口的管理能力。 7e41f4b71Sopenharmony_ci 8e41f4b71Sopenharmony_ci**起始版本:** 12 9e41f4b71Sopenharmony_ci 10e41f4b71Sopenharmony_ci 11e41f4b71Sopenharmony_ci## 汇总 12e41f4b71Sopenharmony_ci 13e41f4b71Sopenharmony_ci 14e41f4b71Sopenharmony_ci### 文件 15e41f4b71Sopenharmony_ci 16e41f4b71Sopenharmony_ci| 名称 | 描述 | 17e41f4b71Sopenharmony_ci| -------- | -------- | 18e41f4b71Sopenharmony_ci| [oh_window_comm.h](oh__window__comm_8h.md) | 提供窗口的公共枚举、公共定义等。 | 19e41f4b71Sopenharmony_ci| [oh_window_event_filter.h](oh__window__event__filter_8h.md) | 定义窗口管理按键事件过滤的接口,当多模输入的事件经过窗口时,可以通过过滤接口拦截事件不让事件往下分发。 | 20e41f4b71Sopenharmony_ci 21e41f4b71Sopenharmony_ci 22e41f4b71Sopenharmony_ci### 类型定义 23e41f4b71Sopenharmony_ci 24e41f4b71Sopenharmony_ci| 名称 | 描述 | 25e41f4b71Sopenharmony_ci| -------- | -------- | 26e41f4b71Sopenharmony_ci| typedef enum [WindowManager_ErrorCode](#windowmanager_errorcode) [WindowManager_ErrorCode](#windowmanager_errorcode) | 窗口管理接口返回状态码枚举。 | 27e41f4b71Sopenharmony_ci| typedef bool(\*[OH_NativeWindowManager_KeyEventFilter](#oh_nativewindowmanager_keyeventfilter)) (Input_KeyEvent \*keyEvent) | 定义多模按键的过滤函数。 | 28e41f4b71Sopenharmony_ci 29e41f4b71Sopenharmony_ci 30e41f4b71Sopenharmony_ci### 枚举 31e41f4b71Sopenharmony_ci 32e41f4b71Sopenharmony_ci| 名称 | 描述 | 33e41f4b71Sopenharmony_ci| -------- | -------- | 34e41f4b71Sopenharmony_ci| [WindowManager_ErrorCode](#windowmanager_errorcode) { OK = 0, INVAILD_WINDOW_ID = 1000, SERVICE_ERROR = 2000 } | 窗口管理接口返回状态码枚举。 | 35e41f4b71Sopenharmony_ci 36e41f4b71Sopenharmony_ci 37e41f4b71Sopenharmony_ci### 函数 38e41f4b71Sopenharmony_ci 39e41f4b71Sopenharmony_ci| 名称 | 描述 | 40e41f4b71Sopenharmony_ci| -------- | -------- | 41e41f4b71Sopenharmony_ci| [WindowManager_ErrorCode](#windowmanager_errorcode) [OH_NativeWindowManager_RegisterKeyEventFilter](#oh_nativewindowmanager_registerkeyeventfilter) (int32_t windowId, [OH_NativeWindowManager_KeyEventFilter](#oh_nativewindowmanager_keyeventfilter) keyEventFilter) | 注册按键事件的过滤函数。 | 42e41f4b71Sopenharmony_ci| [WindowManager_ErrorCode](#windowmanager_errorcode) [OH_NativeWindowManager_UnregisterKeyEventFilter](#oh_nativewindowmanager_unregisterkeyeventfilter) (int32_t windowId) | 取消注册窗口的按键事件过滤函数。 | 43e41f4b71Sopenharmony_ci 44e41f4b71Sopenharmony_ci 45e41f4b71Sopenharmony_ci## 类型定义说明 46e41f4b71Sopenharmony_ci 47e41f4b71Sopenharmony_ci 48e41f4b71Sopenharmony_ci### OH_NativeWindowManager_KeyEventFilter 49e41f4b71Sopenharmony_ci 50e41f4b71Sopenharmony_ci``` 51e41f4b71Sopenharmony_citypedef bool(* OH_NativeWindowManager_KeyEventFilter) (Input_KeyEvent *keyEvent) 52e41f4b71Sopenharmony_ci``` 53e41f4b71Sopenharmony_ci 54e41f4b71Sopenharmony_ci**描述** 55e41f4b71Sopenharmony_ci 56e41f4b71Sopenharmony_ci定义多模按键的过滤函数。 57e41f4b71Sopenharmony_ci 58e41f4b71Sopenharmony_ci**起始版本:** 12 59e41f4b71Sopenharmony_ci 60e41f4b71Sopenharmony_ci**参数:** 61e41f4b71Sopenharmony_ci 62e41f4b71Sopenharmony_ci| 名称 | 描述 | 63e41f4b71Sopenharmony_ci| -------- | -------- | 64e41f4b71Sopenharmony_ci| keyEvent | 多模按键事件,具体可见Input_KeyEvent,事件定义在oh_input_manager中。 | 65e41f4b71Sopenharmony_ci 66e41f4b71Sopenharmony_ci**返回:** 67e41f4b71Sopenharmony_ci 68e41f4b71Sopenharmony_ci返回是否过滤该事件,返回true窗口不再往下分发,返回false表示不拦截 69e41f4b71Sopenharmony_ci 70e41f4b71Sopenharmony_ci 71e41f4b71Sopenharmony_ci### WindowManager_ErrorCode 72e41f4b71Sopenharmony_ci 73e41f4b71Sopenharmony_ci``` 74e41f4b71Sopenharmony_citypedef enum WindowManager_ErrorCode WindowManager_ErrorCode 75e41f4b71Sopenharmony_ci``` 76e41f4b71Sopenharmony_ci 77e41f4b71Sopenharmony_ci**描述** 78e41f4b71Sopenharmony_ci 79e41f4b71Sopenharmony_ci窗口管理接口返回状态码枚举。 80e41f4b71Sopenharmony_ci 81e41f4b71Sopenharmony_ci**起始版本:** 12 82e41f4b71Sopenharmony_ci 83e41f4b71Sopenharmony_ci 84e41f4b71Sopenharmony_ci## 枚举类型说明 85e41f4b71Sopenharmony_ci 86e41f4b71Sopenharmony_ci 87e41f4b71Sopenharmony_ci### WindowManager_ErrorCode 88e41f4b71Sopenharmony_ci 89e41f4b71Sopenharmony_ci``` 90e41f4b71Sopenharmony_cienum WindowManager_ErrorCode 91e41f4b71Sopenharmony_ci``` 92e41f4b71Sopenharmony_ci 93e41f4b71Sopenharmony_ci**描述** 94e41f4b71Sopenharmony_ci 95e41f4b71Sopenharmony_ci窗口管理接口返回状态码枚举。 96e41f4b71Sopenharmony_ci 97e41f4b71Sopenharmony_ci**起始版本:** 12 98e41f4b71Sopenharmony_ci 99e41f4b71Sopenharmony_ci| 枚举值 | 描述 | 100e41f4b71Sopenharmony_ci| -------- | -------- | 101e41f4b71Sopenharmony_ci| OK | 成功。 | 102e41f4b71Sopenharmony_ci| INVAILD_WINDOW_ID | 非法窗口ID。 | 103e41f4b71Sopenharmony_ci| SERVICE_ERROR | 服务异常。 | 104e41f4b71Sopenharmony_ci 105e41f4b71Sopenharmony_ci 106e41f4b71Sopenharmony_ci## 函数说明 107e41f4b71Sopenharmony_ci 108e41f4b71Sopenharmony_ci 109e41f4b71Sopenharmony_ci### OH_NativeWindowManager_RegisterKeyEventFilter() 110e41f4b71Sopenharmony_ci 111e41f4b71Sopenharmony_ci``` 112e41f4b71Sopenharmony_ciWindowManager_ErrorCode OH_NativeWindowManager_RegisterKeyEventFilter (int32_t windowId, OH_NativeWindowManager_KeyEventFilter keyEventFilter ) 113e41f4b71Sopenharmony_ci``` 114e41f4b71Sopenharmony_ci 115e41f4b71Sopenharmony_ci**描述** 116e41f4b71Sopenharmony_ci 117e41f4b71Sopenharmony_ci注册按键事件的过滤函数。 118e41f4b71Sopenharmony_ci 119e41f4b71Sopenharmony_ci**起始版本:** 12 120e41f4b71Sopenharmony_ci 121e41f4b71Sopenharmony_ci**参数:** 122e41f4b71Sopenharmony_ci 123e41f4b71Sopenharmony_ci| 名称 | 描述 | 124e41f4b71Sopenharmony_ci| -------- | -------- | 125e41f4b71Sopenharmony_ci| windowId | 需要过滤按键事件的窗口ID。 | 126e41f4b71Sopenharmony_ci| keyEventFilter | 多模按键的过滤函数。 | 127e41f4b71Sopenharmony_ci 128e41f4b71Sopenharmony_ci**返回:** 129e41f4b71Sopenharmony_ci 130e41f4b71Sopenharmony_ci返回窗口管理接口的通用状态码,具体可见[WindowManager_ErrorCode](#windowmanager_errorcode)。 131e41f4b71Sopenharmony_ci 132e41f4b71Sopenharmony_ci 133e41f4b71Sopenharmony_ci### OH_NativeWindowManager_UnregisterKeyEventFilter() 134e41f4b71Sopenharmony_ci 135e41f4b71Sopenharmony_ci``` 136e41f4b71Sopenharmony_ciWindowManager_ErrorCode OH_NativeWindowManager_UnregisterKeyEventFilter (int32_t windowId) 137e41f4b71Sopenharmony_ci``` 138e41f4b71Sopenharmony_ci 139e41f4b71Sopenharmony_ci**描述** 140e41f4b71Sopenharmony_ci 141e41f4b71Sopenharmony_ci取消注册窗口的按键事件过滤函数。 142e41f4b71Sopenharmony_ci 143e41f4b71Sopenharmony_ci**起始版本:** 12 144e41f4b71Sopenharmony_ci 145e41f4b71Sopenharmony_ci**参数:** 146e41f4b71Sopenharmony_ci 147e41f4b71Sopenharmony_ci| 名称 | 描述 | 148e41f4b71Sopenharmony_ci| -------- | -------- | 149e41f4b71Sopenharmony_ci| windowId | 需要取消过滤按键事件的窗口ID。 | 150e41f4b71Sopenharmony_ci 151e41f4b71Sopenharmony_ci**返回:** 152e41f4b71Sopenharmony_ci 153e41f4b71Sopenharmony_ci返回窗口管理接口的通用状态码,具体可见[WindowManager_ErrorCode](#windowmanager_errorcode)。 154