You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nuance Dragon中RememberPoint调用报错 韩语输入切换脚本开发问题

问题根因

你遇到的两类报错均是对RememberPoint的API特性和脚本语法规则不熟悉导致:

  1. 报错"Subs can't be used in expressions":RememberPoint是无返回值的Sub过程,不是有返回值的Function,不能作为右值赋值给变量,所有赋值写法本身就不符合语法要求。
  2. 报错"Expecting 'Declare|Delegate|...'":脚本的模块级(Sub Main外部)仅允许放置声明类语句,不能直接写执行逻辑,你在外部写的originalPoint = RememberPoint属于可执行语句,不符合语法规范。

RememberPoint的设计逻辑是调用后自动将当前鼠标坐标存储在程序内部缓存中,不需要开发者手动接收返回值,后续直接调用配套的GoToPoint方法即可回到记录的坐标位置。


正确实现代码

以下是适配你需求的可运行脚本,替换其中的热键、目标点击坐标为你实际使用的参数即可:

Sub Main
    ' 记录当前鼠标位置,内部自动存储无需赋值
    RememberPoint
    ' 替换为你实际的韩语输入切换热键,示例为Alt+Shift+H
    SendKeys "%+h"
    ' 替换为你的语言栏谚文输入按钮的实际屏幕坐标,示例为坐标(950, 10)左击1次
    MouseClick 1, 950, 10
    ' 回到之前记录的初始光标位置
    GoToPoint
End Sub

如果你确实需要手动获取坐标值做自定义处理,可以调用Windows系统API实现,无需依赖RememberPoint:

Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Type POINTAPI
    x As Long
    y As Long
End Type

Sub Main
    Dim originalPos As POINTAPI
    ' 获取当前坐标存入originalPos变量
    GetCursorPos originalPos
    
    ' 此处插入你的语言切换、按钮点击逻辑
    SendKeys "%+h"
    MouseClick 1, 950, 10
    
    ' 手动复位鼠标位置到初始坐标
    SetCursorPos originalPos.x, originalPos.y
End Sub

内容的提问来源于stack exchange,提问作者Simon McEntire

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 22:06:03