Class inputBlocker
Blocks keyboard and/or mouse input events from reaching applications.
public sealed class inputBlocker : IDisposable
Remarks
Uses keyboard and/or mouse hooks. Does not use API BlockInput, it does not work on current Windows versions. Blocks hardware-generated events and software-generated events, except generated by functions of this library. Functions of this library that send keys or text use this class internally, to block user-pressed keys and resend them afterwards (see inputBlocker.ResendBlockedKeys). Does not block:
- In windows of the same thread that started blocking. For example, if your script shows a message box, the user can click its buttons.
- In windows of higher UAC integrity level (IL) processes, unless this process has uiAccess IL.
- In special desktops/screens, such as when you press
Ctrl+Alt+Deleteor launch an admin program that requires UAC elevation. See also inputBlocker.ResumeAfterCtrlAltDelete. - Some Windows hotkeys, such as
Ctrl+Alt+DeleteandWin+L. - Keyboard hooks don't work in windows of this process if this process uses direct input or raw input API.
To stop blocking, can be used using, like in the example. Or try with finally code that calls inputBlocker.Dispose or inputBlocker.Stop. Also automatically stops when this thread ends. Users can stop with Ctrl+Alt+Delete.
Examples
using(new inputBlocker(BIEvents.All)) {
print.it("blocked");
5.s();
}
print.it("not blocked");
Namespace: Au
Assembly: Au.dll
Constructors
| Name | Description |
|---|---|
| inputBlocker() | This constructor does nothing (does not call inputBlocker.Start). |
| inputBlocker(BIEvents) | This constructor calls inputBlocker.Start. |
Properties
| Name | Description |
|---|---|
| DontBlockInjected | Don't block software-generated key/mouse events.
If |
| Pause | Gets or sets whether the blocking is paused. |
| ResendBlockedKeys | Record blocked keys, and play back when stopped blocking. |
| ResumeAfterCtrlAltDelete | Continue blocking when returned from a special screen where blocking is disabled: |
Methods
| Name | Description |
|---|---|
| Dispose() | Calls inputBlocker.Stop. |
| Start(BIEvents) | Starts blocking. |
| Stop(bool) | Stops blocking. Plays back blocked keys if need. See inputBlocker.ResendBlockedKeys. Does nothing if currently is not blocking. |