Table of Contents

Namespace MaaFramework.Binding

Namespaces

MaaFramework.Binding.Abstractions
MaaFramework.Binding.Buffers
MaaFramework.Binding.Custom
MaaFramework.Binding.Notification

Classes

ActionDetail

A sealed record providing properties of action detail.

ActionDetailExtensions

A static class providing extension methods for the query of action detail.

MaaToolkit.AdbDeviceClass

A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaToolkit.

MaaToolkit.AdbDeviceClass

A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaToolkit.

AdbDeviceInfo

A record providing properties of adb device information.

AdbDeviceInfoExtensions

A static class providing extension methods for the creation of MaaAdbController.

MaaToolkit.ConfigClass

A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaToolkit.

MaaToolkit.ConfigClass

A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaToolkit.

MaaToolkit.DesktopClass

A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaToolkit.

MaaToolkit.DesktopClass

A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaToolkit.

MaaToolkit.DesktopWindowClass

A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaToolkit.

MaaToolkit.DesktopWindowClass

A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaToolkit.

DesktopWindowInfo

A record providing properties of window information.

DesktopWindowInfoExtensions

A static class providing extension methods for the creation of MaaWin32Controller.

ImageInfo

A sealed record providing properties of image information.

MaaAdbController

A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaController.MaaAdbControllerCreate(System.String,System.String,System.UInt64,System.UInt64,System.String,System.String).

MaaAgentClient

A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaAgentClient.

MaaAgentServer

A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaAgentServer.

MaaAgentServerExtensions

A static class providing extension methods for MaaFramework.Binding.MaaAgentServer.

MaaCallbackEventArgs

A class providing data for the MaaFramework.Binding.Abstractions.IMaaCommon.Callback event.

MaaContext

A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaContext.

MaaController

A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaController.

MaaCustomController

A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaController.MaaCustomControllerCreate(MaaFramework.Binding.Custom.IMaaCustomController,System.IntPtr).

MaaDbgController

A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaController.MaaDbgControllerCreate(System.String,System.String,System.UInt64,System.String).

MaaException

The exception that is the base class for custom exceptions in MaaFramework.Binding.

MaaGlobal

A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaGlobal.

MaaImage

A non-generic sealed class used to wrap MaaFramework.Binding.Buffers.IMaaImageBuffer.

MaaInteroperationException

The exception is thrown when a maa interoperation failed.

MaaJob

A wrapper class providing a reference implementation for return value of Maa Post method.

MaaJobStatusException

The exception is thrown when the MaaFramework.Binding.MaaJobStatus of a MaaFramework.Binding.MaaJob is unexpected.

MaaJobStatusExtensions

A static class providing extension methods for MaaFramework.Binding.MaaJobStatus.

MaaOptionExtensions

A static class providing extension methods for setting maa option.

MaaPlayCoverController

A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaController.MaaPlayCoverControllerCreate(System.String,System.String).

MaaResource

A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaResource.

MaaTaskJob

A wrapper class providing a reference implementation for return value of Maa Post method.

MaaTasker

A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaTasker.

MaaToolkit

A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaToolkit.

MaaWin32Controller

A wrapper class providing a reference implementation for MaaFramework.Binding.Interop.Native.MaaController.MaaWin32ControllerCreate(System.IntPtr,System.UInt64,System.UInt64,System.UInt64).

NativeBindingContext

Provides information and configuration for native bindings in the MaaFramework.

NodeDetail

A sealed record providing properties of node detail.

NodeDetailExtensions

A static class providing extension methods for the query of node detail.

RecognitionDetail

A sealed record providing properties of recognition detail.

RecognitionDetailExtensions

A static class providing extension methods for the query of recognition detail.

TaskDetail

A sealed record providing properties of task detail.

TaskDetailExtensions

A static class providing extension methods for the query of task detail.

Interfaces

IMaaAgentClient

An interface defining wrapped members for MaaAgentClient.

IMaaAgentClient<T>

An interface defining wrapped members for MaaAgentClient with generic handle.

IMaaAgentServer

An interface defining wrapped members for MaaAgentServer.

IMaaContext<T>

An interface defining wrapped members for MaaContext with generic handle.

IMaaContext

An interface defining wrapped members for MaaContext.

IMaaController<T>

An interface defining wrapped members for MaaController with generic handle.

IMaaController

An interface defining wrapped members for MaaController.

IMaaGlobal

An interface defining wrapped members for MaaGlobal.

IMaaResource

An interface defining wrapped members for MaaResource.

IMaaResource<T>

An interface defining wrapped members for MaaResource with generic handle.

IMaaTasker

An interface defining wrapped members for MaaTasker.

IMaaTasker<T>

An interface defining wrapped members for MaaTasker with generic handle.

IMaaToolkit

An interface defining wrapped members for MaaToolkit.

IMaaToolkitAdbDevice

An interface defining wrapped members for MaaToolkit Adb Device.

IMaaToolkitConfig

An interface defining wrapped members for MaaToolkit Config.

IMaaToolkitDesktop

An interface defining wrapped members for MaaToolkit Desktop.

IMaaToolkitDesktopWindow

An interface defining wrapped members for MaaToolkit Desktop Window.

Enums

AdbInputMethods
Adb input method flags

Use bitwise OR to set the methods you need.

MaaFramework will select the first available method according to priority.

Priority (high to low): EmulatorExtras > Maatouch > MinitouchAndAdbKey > AdbShell

Default: All methods except EmulatorExtras

| Method               | Speed | Compatibility | Notes                                 |
|----------------------|-------|---------------|---------------------------------------|
| AdbShell             | Slow  | High          |                                       |
| MinitouchAndAdbKey   | Fast  | Medium        | Key press still uses AdbShell         |
| Maatouch             | Fast  | Medium        |                                       |
| EmulatorExtras       | Fast  | Low           | Emulators only: MuMu 12               |
AdbScreencapMethods
Adb screencap method flags.

Use bitwise OR to set the methods you need.

MaaFramework will test all provided methods and use the fastest available one.

Default: All methods except RawByNetcat, MinicapDirect, MinicapStream

Note: MinicapDirect and MinicapStream use lossy JPEG encoding, which may

significantly reduce template matching accuracy. Not recommended.

| Method                | Speed      | Compatibility | Encoding | Notes                               |
|-----------------------|------------|---------------|----------|-------------------------------------|
| EncodeToFileAndPull   | Slow       | High          | Lossless |                                     |
| Encode                | Slow       | High          | Lossless |                                     |
| RawWithGzip           | Medium     | High          | Lossless |                                     |
| RawByNetcat           | Fast       | Low           | Lossless |                                     |
| MinicapDirect         | Fast       | Low           | Lossy    |                                     |
| MinicapStream         | Very Fast  | Low           | Lossy    |                                     |
| EmulatorExtras        | Very Fast  | Low           | Lossless | Emulators only: MuMu 12, LDPlayer 9 |
ApiInfoFlags

Represents information about binding interoperable API.

CheckStatusOption

Checking MaaFramework.Binding.MaaJobStatus option.

ControllerFeatures
ControllerOption

Option keys for controller instance options. See MaaControllerSetOption().

DbgControllerType
DisposeOptions

MaaFramework.Binding.IMaaTasker dispose options.

GlobalOption
InferenceCoreMLFlags

InferenceCoreMLFlags are bool options we want to set for CoreML EP.

InferenceDevice
InferenceExecutionProvider
LinkOption

MaaFramework.Binding.IMaaController link option.

LoggingLevel
MaaJobStatus
ResourceOption
TaskerOption
Win32InputMethod
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 | Designed for apps that check real cursor position |
| PostMessageWithCursorPos | Medium        | Maybe         | Briefly      | Yes | Designed for apps that check real cursor position |

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.

Win32ScreencapMethod
Win32 screencap method

No bitwise OR, select ONE method only.

No default value. Client should choose one as default.

Different applications use different rendering methods, there is no universal solution.

| Method                  | Speed     | Compatibility | Require Admin | Background Support | Notes                            |
|-------------------------|-----------|---------------|---------------|--------------------|----------------------------------|
| GDI                     | Fast      | Medium        | No            | No                 |                                  |
| FramePool               | Very Fast | Medium        | No            | Yes                | Requires Windows 10 1903+        |
| DXGI_DesktopDup         | Very Fast | Low           | No            | No                 | Desktop duplication (full screen)|
| DXGI_DesktopDup_Window  | Very Fast | Low           | No            | No                 | Desktop duplication then crop    |
| PrintWindow             | Medium    | Medium        | No            | Yes                |                                  |
| ScreenDC                | Fast      | High          | No            | No                 |                                  |

Note: When a window is minimized on Windows, all screencap methods will fail. Avoid minimizing the target window.

Delegates

IMaaAgentClient.AgentServerStartupMethod

Represents a method that starts the agent server process.

IMaaAgentClient.AgentServerStartupMethod

Represents a method that starts the agent server process.