Enum Win32InputMethod
- Namespace
- MaaFramework.Binding
- Assembly
- MaaFramework.Binding.dll
Win32 input method
No bitwise OR, select ONE method only.
No default value. Client should choose one as default.
Different applications process input differently, there is no universal solution.
| Method | Compatibility | Require Admin | Seize Mouse | Background Support | Notes |
|--------------------------|---------------|---------------|--------------|--------------------|------------------------------------------|
| Seize | High | No | Yes | No | |
| SendMessage | Medium | Maybe | No | Yes | |
| PostMessage | Medium | Maybe | No | Yes | |
| LegacyEvent | Low | No | Yes | No | |
| PostThreadMessage | Low | Maybe | No | Yes | |
| SendMessageWithCursorPos | Medium | Maybe | Briefly | Yes | Moves cursor to target position, then restores |
| PostMessageWithCursorPos | Medium | Maybe | Briefly | Yes | Moves cursor to target position, then restores |
| SendMessageWithWindowPos | Medium | Maybe | No | Yes | Moves window to align target with cursor, then restores |
| PostMessageWithWindowPos | Medium | Maybe | No | Yes | Moves window to align target with cursor, then restores |
Note:
- Admin rights mainly depend on the target application's privilege level.
If the target runs as admin, MaaFramework should also run as admin for compatibility.
- "WithCursorPos" methods briefly move the cursor to target position, send message,
then restore cursor position. This "briefly" seizes the mouse but won't block user operations.
- "WithWindowPos" methods briefly move the window so the target aligns with the current cursor
position, send message, then restore the window position. The cursor is not moved.
public enum Win32InputMethod : ulongFields
LegacyEvent = 8None = 0PostMessage = 4PostMessageWithCursorPos = 64PostMessageWithWindowPos = 256PostThreadMessage = 16Seize = 1SendMessage = 2SendMessageWithCursorPos = 32SendMessageWithWindowPos = 128