Skip to content

键鼠同步模块总览 - Overview

本分类做什么

已登录授权 前提下,对单个或多个 OLA 实例做 键鼠事件采集、监听、录制、回放、主从同步。权限特性名为 InputSync(OLA / OLAPlus / OLAUltra)。

鼠标键盘 配合:采集的是这些 API 的调用出口(以及 DX 前台真人输入),不是替代它们。


一、能力一览

能力接口说明
采集开关EnableInputSync开启后 API / FG 事件进总线
监听SetInputMonitor本地回调;类型见 InputMonitorCallback
录制InputRecordSTART→操作→STOP 自动落盘
查路径InputRecordGetPath返回绝对路径,须 FreeStringPtr
主从InputSyncLink主实例事件异步投到从实例
回放InputPlaybackLOAD→START→STOP→FREE;可 LOOP

二、推荐流程

录制

text
EnableInputSync(ola, 1)          // 可选;InputRecord(START) 也会自动开启
InputRecord(ola, START, "")      // 或相对 WorkPath 的路径
… KeyDown / MoveTo / MoveR …
InputRecord(ola, STOP, "")       // 自动落盘
path = InputRecordGetPath(ola)

回放

text
h = InputPlayback(ola, 0, LOAD, path, 0, 0, 0)
InputPlayback(ola, h, START, "", 1.0, 0, LOOP?)
… 可选 PAUSE / SEEK / STOP …
InputPlayback(ola, h, FREE, "", 0, 0, 0)

主从同步

text
EnableInputSync(master, 1)
InputSyncLink(master, slave, 1)
… 在 master 上操作键鼠 …
InputSyncLink(master, 0, 0)      // 解绑全部

三、路径与权限

  • 字符串 path 请传 ""不要传 NULL
  • 相对路径相对 ConfigModel::WorkPathFileHelper::ToAbsolutePath)。
  • 本模块接口均需 InputSync 权限;无权限返回 0(字符串接口返回空串),GetLastError 为权限拒绝。

四、移动事件规则

来源录制 flags回放 / 从端
MoveTo(轨迹)TRAJECTORYMoveTo
MoveToWithoutSimulator0MoveToWithoutSimulator
MoveRRELATIVE(可兼 TRAJECTORYMoveR
DX 前台真人 FG_REAL0MoveToWithoutSimulator

SendMouseAction(WM_MOUSEMOVE) 不单独记 move(避免轨迹中间点重复);按键/滚轮由 SendMouseAction 记一次。


五、注意

  1. DX 前台回传须 关闭前台锁定LockInput / InputLock)。
  2. Monitor / 回放可能在非调用线程回调,勿阻塞、勿重入同实例同步 API。
  3. 后台注入带标记,hook 不上报,避免与 HOST_API 重复。