Autohotkey 如何检测Ctrl+;V在AHK?

Autohotkey 如何检测Ctrl+;V在AHK?,autohotkey,Autohotkey,我正在尝试检测Ctrl+V。然后,让Xbutton1充当Enter键几秒钟,但我无法让它工作 Transform, CtrlV, Chr, 3 Input, OutputVar, L1 M XButton1:: if OutputVar = CtrlV { SetTimer, SendEnter, 0 Sleep, 2000 SetTimer, SendEnter, Off } else {

我正在尝试检测Ctrl+V。然后,让
Xbutton1
充当Enter键几秒钟,但我无法让它工作

Transform, CtrlV, Chr, 3
Input, OutputVar, L1 M

XButton1::
    if OutputVar = CtrlV
    {
        SetTimer, SendEnter, 0
        Sleep, 2000
        SetTimer, SendEnter, Off
    }
    else
    {
        Send  ^t
    }
Return

SendEnter:
    Send {Enter}
Return
~^v::lastPaste:=A\u TickCount;按下ctrl+v时存储计数器
按钮1::
如果A_TickCount-lastplaste<2000;检查单击ctrl+v后是否已过2秒
{
发送,{Enter};发送Enter
返回
}
其他的
{
发送,^t;发送ctrl+t
返回
}

为什么不为它定义一个热键
~^v::msgbox,您按了CTRL+v
波浪线前缀将保留原始功能。谢谢您的建议,但我不想这样做。:)我认为你陷入了程序思维,但使用热键更受事件驱动。例如,您可以简单地存储按下ctrl+v时的时间:
^v::lastplaste:=A_TickCount
。然后,激活
XButton1
,您可以将该时间与当前时间进行比较;或者更好的方法是:使用
#如果一个_TickCount-lastPaste<2000
来清楚地显示不同的状态。你确定那不是你想做的吗?:)谢谢你的帮助!您的脚本非常简单,但工作非常完美!:)伟大的请将您的解决方案作为答案发布,并在事后接受,以便其他人受益。CTRL+V在哪里?如果您能详细介绍一下解决方案,那也太好了。很抱歉,我没有看到我复制的不是所有脚本:)。现在它完成了。这真的很简单,我只是按照你的建议去做。@user3736903不,你没有。您只粘贴了整个代码,但没有添加任何解释。哪怕是一条很小的线。现在,您的答案进入了一个非常低质量的队列,可能会因此被删除。请重新编辑您的问题,并至少添加一行解释。现在可能会好一点吗?:)下面是
~
的意思:当AHK执行脚本时,它会对系统隐藏密钥的常规功能。
~
会覆盖该选项。因此,如果您有这样一个脚本:
^v::Return
,则Ctrl+v将不再粘贴,它将不起任何作用。但是,如果脚本有一个平铺,如下所示:
~^v::Return
粘贴将正常工作。
~^v::lastPaste := A_TickCount ;stores counter when ctrl+v is pressed   
    Xbutton1::
        If A_TickCount - lastPaste < 2000 ;checks if 2 seconds gone after ctrl+v was clicked
        {
            Send, {Enter} ;sends enter
            Return
        }
        else
        {
            Send, ^t ;sends ctrl+t
            Return
        }