blockInput 函数 (winuser.h)
阻止键盘和鼠标输入事件到达应用程序。
语法
BOOL BlockInput(
[in] BOOL fBlockIt
);
参数
[in] fBlockIt
类型: BOOL
函数的用途。 如果此参数为 TRUE,则阻止键盘和鼠标输入事件。 如果此参数为 FALSE,则取消阻止键盘和鼠标事件。 请注意,只有阻止输入的线程才能成功取消阻止输入。
返回值
类型: BOOL
如果该函数成功,则返回值为非零值。
如果已阻止输入,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。
注解
阻止输入时,来自鼠标或键盘的实际物理输入不会影响 GetKeyState 和 GetKeyboardState) 报告的输入队列的同步键状态 (,也不会影响 GetAsyncKeyState) 报告的异步键状态 (。 但是,阻止输入的线程可以通过调用 SendInput 影响这两种键状态。 其他线程无法执行此操作。
在以下情况下,系统将取消阻止输入:
- 阻止输入的线程意外退出,但未调用 BlockInput 且 fBlock 设置为 FALSE。 在这种情况下,系统会正确清理并重新启用输入。
- 用户按 Ctrl+ALT+DEL 或系统调用 硬系统错误 模式消息框 (例如,当程序故障或设备) 故障时。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | winuser.h |
Library | User32.lib |
DLL | User32.dll |
请参阅
概念性
引用