【问题标题】:Conditionally intercept a mouse click in Autohotkey?有条件地拦截 Autohotkey 中的鼠标点击?
【发布时间】:2013-12-03 16:18:38
【问题描述】:

我想要一个脚本来拦截鼠标单击并发送按键,但仅在打开大写锁定键时。如果大写锁定键被关闭,我希望鼠标点击能够正常发送。

目前我已经做到了:

$LButton::
if GetKeyState("CapsLock", "T") = 1
    send, {a}
else
    send, {LButton}
return

这样做的问题是,当capslock键关闭时,左键可以正常点击但不能拖动。

如果我将$ 更改为~,它可以拖动,但在打开大写锁定键时它也会执行单击。

如果关闭大写锁定键,有什么方法可以让脚本完全忽略点击?

【问题讨论】:

  • 好问题。 +1 希望我知道该告诉你什么。好吧,在您当前的脚本中,如果 capslock 关闭,它会发送一次左键单击,因为这就是您告诉它要做的事情。如果您希望它忽略左键单击,请不要发送LButton,-我想我错过了您的意思。

标签: toggle mouseevent autohotkey intercept


【解决方案1】:

AHK_L 的#If 会给你你想要的:

#If GetKeyState("CapsLock", "T")
LButton::Send, a

使用此代码,您不必担心大写锁定关闭时会发生什么。 AHK 将拦截较低级别的点击并让它通过。

【讨论】:

    【解决方案2】:

    如何使用符号UP

    SetBatchLines, -1   ; you pretty much have to include this to speed up the execution
    
    LButton::
        if( GetKeyState("CapsLock", "T") )
            tooltip, ignore left click
        else
            send, {LButton Down}
    return
    
    
    LButton UP::
        send, {LButton Up}
    return
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-24
      • 2011-10-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多