KeymouseGo使用技巧:10个你不知道的高级功能

KeymouseGo使用技巧:10个你不知道的高级功能

【免费下载链接】KeymouseGo 类似按键精灵的鼠标键盘录制和自动化操作 模拟点击和键入 | automate mouse clicks and keyboard input 【免费下载链接】KeymouseGo 项目地址: https://gitcode.com/gh_mirrors/ke/KeymouseGo

作为一款开源的鼠标键盘自动化工具,KeymouseGo不仅提供基础的录制回放功能,还隐藏着诸多能大幅提升效率的高级特性。本文将深入剖析10个鲜为人知的实用功能,帮助你从"简单录制"升级为"自动化大师"。

一、热键系统深度定制

KeymouseGo的热键系统支持组合键与自定义映射,默认配置为F6(开始)、F9(停止)、F10(录制),但通过界面可实现全自定义:

# 热键设置核心代码逻辑(UIFunc.py)
self.hotkey_stop.setText(self.config.value("Config/StopHotKey"))
self.hotkey_start.setText(self.config.value("Config/StartHotKey"))
self.hotkey_record.setText(self.config.value("Config/RecordHotKey"))

高级用法

  • 使用Ctrl+Alt+字母组合避免冲突(如Ctrl+Alt+R启动录制)
  • 支持鼠标侧键(XButton1/XButton2)作为触发键
  • 组合键最多支持3个修饰键+1个普通键(如Ctrl+Shift+Alt+F12)

二、脚本循环与条件执行

通过修改配置文件或界面设置,可实现复杂的执行逻辑:

# 循环执行核心代码(RunScriptClass.py)
while (j < self.runtimes or self.runtimes == 0) and nointerrupt:
    self.tnumrdSignal.emit(f'{running_text}... Looptimes [{j + 1}/{self.runtimes}]')
    nointerrupt = nointerrupt and self.run_script_from_objects(head_object)
    j += 1

实用场景

  • 设置循环次数为0实现无限循环(需手动停止)
  • 结合"if"类型事件实现条件分支(通过PluginManager.call判断)
  • 使用"subroutine"类型事件调用外部脚本片段

三、多语言界面无缝切换

软件内置完整的国际化支持,无需重启即可切换界面语言:

# 语言切换核心代码(UIFunc.py)
self.choice_language.addItems(['简体中文', 'English', '繁體中文'])
self.choice_language.currentTextChanged.connect(self.onchangelang)

def onchangelang(self):
    if self.choice_language.currentText() == '简体中文':
        self.trans.load(get_assets_path('i18n', 'zh-cn'))
    elif self.choice_language.currentText() == 'English':
        self.trans.load(get_assets_path('i18n', 'en'))
    elif self.choice_language.currentText() == '繁體中文':
        self.trans.load(get_assets_path('i18n', 'zh-tw'))
    _app.installTranslator(self.trans)
    self.retranslateUi(self)

支持语言包括简体中文、英语和繁体中文,自动根据系统 locale 选择默认语言。

四、脚本文件管理高级操作

通过文件对话框功能,可对脚本进行重命名、删除和批量操作:

# 脚本管理核心代码(UIFunc.py)
def OnBtOpenScriptFilesButton(self):
    import UIFileDialogFunc
    file_dialog = UIFileDialogFunc.FileDialog()
    self.bt_open_script_files.setDisabled(True)
    file_dialog.show()
    # 刷新脚本列表
    self.choice_script.clear()
    self.choice_script.addItems(scripts)

文件操作技巧

  • 脚本文件默认保存在scripts目录下,支持.txt和.json5格式
  • 通过文件对话框可按修改时间排序脚本
  • 支持批量导入导出脚本集合

五、主题美化与个性化

软件内置多种UI主题,可通过界面即时切换:

# 主题切换核心代码(UIFunc.py)
self.choice_theme.addItems(['Default'])
self.choice_theme.addItems(list_themes())
self.choice_theme.currentTextChanged.connect(self.onchangetheme)

def onchangetheme(self):
    theme = self.choice_theme.currentText()
    if theme == 'Default':
        self.apply_stylesheet(self.app, theme='default')
    else:
        self.apply_stylesheet(self.app, theme=theme)

qt-material主题库提供20+种预设主题,包括:

  • dark_amber.xml
  • dark_blue.xml
  • dark_cyan.xml
  • light_pink.xml
  • light_teal.xml等

六、鼠标移动精度调节

通过调整鼠标移动间隔参数,平衡执行速度与精准度:

# 鼠标精度调节代码(UIFunc.py)
self.mouse_move_interval_ms.setValue(int(self.config.value("Config/Precision")))
self.mouse_move_interval_ms.valueChanged.connect(Recorder.set_interval)

参数建议

  • 高精度场景(如绘图软件):50-100ms
  • 普通办公场景:200-300ms
  • 快速操作场景:500ms以上

七、事件录制暂停与继续

录制过程中可随时暂停,灵活跳过不需要的操作:

# 录制暂停功能代码(UIFunc.py)
def pauseRecordMethod(self):
    if self.state == State.PAUSE_RECORDING:
        self.btpauserecord.setText(QCoreApplication.translate("UIView", 'Pause', None))
        self.update_state(State.RECORDING)
    elif self.state == State.RECORDING:
        self.btpauserecord.setText(QCoreApplication.translate("UIView", 'Continue', None))
        self.tnumrd.setText('record paused')
        self.update_state(State.PAUSE_RECORDING)

使用技巧

  • 暂停时移动鼠标不被录制
  • 暂停期间可调整窗口位置
  • 继续录制后保持原有时间序列

八、脚本执行暂停与恢复

执行过程中支持暂停/恢复,便于进行人工干预:

# 执行暂停功能代码(RunScriptClass.py)
def set_pause(self):
    self.eventPause = True

def resume(self):
    self.eventPause = False
    super().resume()

def wait_if_pause(self):
    if self.eventPause:
        self.pause()
    else:
        self.resume()

操作流程

  1. 按开始热键启动脚本
  2. 再次按开始热键暂停执行
  3. 第三次按开始热键恢复执行
  4. 按停止热键终止执行

九、脚本解析与兼容性处理

软件能自动识别并处理新旧格式的脚本文件:

# 脚本解析兼容性代码(RunScriptClass.py)
try:
    head_object = ScriptParser.parse(script_path)
except Exception as e:
    logger.warning('Failed to parse script, maybe it is using legacy grammar')
    try:
        head_object = LegacyParser.parse(script_path)
    except Exception as e:
        logger.error(e)

支持的脚本格式

  • 新版:JSON5格式,支持注释和复杂结构
  • 旧版:简单文本格式,每行一个事件

十、插件系统扩展功能

通过插件机制可无限扩展软件功能:

# 插件调用核心代码(RunScriptClass.py)
call_group: List[str] = json_object.content.get('call', None)
if call_group:
    PluginManager.call_group(call_group, json_object)

# 判断逻辑调用
result = PluginManager.call(json_object.content['condition'], json_object)
if result:
    return json_object.next_object
else:
    return json_object.next_object_if_false

插件开发方向

  • 自定义判断条件(如窗口是否存在、文件是否存在)
  • 扩展事件类型(如网络请求、文件操作)
  • 添加OCR识别、图像匹配等高级功能

结语

KeymouseGo作为一款开源的自动化工具,提供了远超基础录制回放的强大功能。通过本文介绍的10个高级技巧,你可以充分发挥其潜力,实现复杂的自动化任务。无论是日常办公自动化、游戏辅助操作,还是软件测试脚本,KeymouseGo都能成为你提高效率的得力助手。

建议配合官方文档和示例脚本进一步学习,探索更多适合个人需求的使用方式。如有疑问或功能建议,可通过项目仓库提交issue或参与社区讨论。

【免费下载链接】KeymouseGo 类似按键精灵的鼠标键盘录制和自动化操作 模拟点击和键入 | automate mouse clicks and keyboard input 【免费下载链接】KeymouseGo 项目地址: https://gitcode.com/gh_mirrors/ke/KeymouseGo

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值