0

我制作了一个脚本来替换我的数字行,这样我就可以将一个数字行保持 0.25 秒来获得换档变体。

它可以工作,但存在某种延迟问题,如果我真的很快按“123”,脚本会插入“321”。这种情况非常一致,因此您也可以尝试。

我认为有一些线程问题或与延迟有关?有什么办法可以解决这个问题并使其可用?也开放其他方式来达到相同的结果或优化。

#SingleInstance
#NoEnv
1:: ; 1 REPLACEMENT
KeyWait, 1, T.25
errorlevel_local = 0
if ErrorLevel = 1
{
    ; ToolTip,OVERRIDE READY,,,19
    errorlevel_local = 1
}
KeyWait, 1
; ToolTip,,,,19
if errorlevel_local = 1
{
    Send, {!}
}
else
{
    Send, {1}
}
return
2:: ; 2 REPLACEMENT
KeyWait, 2, T.25
errorlevel_local = 0
if ErrorLevel = 1
{
    ; ToolTip,OVERRIDE READY,,,19
    errorlevel_local = 1
}
KeyWait, 2
; ToolTip,,,,19
if errorlevel_local = 1
{
    Send, {@}
}
else
{
    Send, {2}
}
return
3:: ; 3 REPLACEMENT
KeyWait, 3, T.25
errorlevel_local = 0
if ErrorLevel = 1
{
    ; ToolTip,OVERRIDE READY,,,19
    errorlevel_local = 1
}
KeyWait, 3
; ToolTip,,,,19
if errorlevel_local = 1
{
    Send, {#}
}
else
{
    Send, {3}
}
return
4

1 回答 1

0

您的脚本中没有使用键盘挂钩来实现这些热键,这会导致发送命令触发它们。

为避免此问题,请在热键定义上方的某处指定#UseHook或在它们前面加上美元符号 $

#NoEnv
#SingleInstance Force


$1::
    KeyWait, 1, T.25
    if ErrorLevel 
    {
        KeyWait, 1
        Send, {!}
    }
    else
        Send, 1
return

$2:: 
    KeyWait, 2, T.25
    if ErrorLevel 
    {
        KeyWait, 2
        Send, @
    }
    else
        Send, 2
return

$3::
    KeyWait, 3, T.25
    if ErrorLevel 
    {
        KeyWait, 3
        Send, {#}
    }
    else
        Send, 3
return

特殊钥匙!和 # 必须用大括号括起来才能发送。

于 2022-03-04T05:40:53.027 回答