Autohotkey和StrokesPlus之间的冲突

时间:2012-08-13 09:58:12

标签: mouse autohotkey

我正在使用StrokesPlus(使用SendKeys的鼠标手势)以及以下快捷方式来关闭窗口:

acSendKeys("{DELAY=50}^{F_4}")

默认的关闭窗口是control + w,但并非所有程序都接受(UltraEdit,一个,使用control + F4 - 带控制+ w切换自动换行,我经常使用)。

我也在使用Florian Winkelbauer's 4 Clip,它将F1-F4绑定到剪贴板,因此F1 + c,F1 + v等可以复制/粘贴到第一个剪贴板。 4clip的绑定样本如下。

*F1::SendInput {blind}{F1}
*F2::SendInput {blind}{F2}
*F3::SendInput {blind}{F3}
*F4::SendInput {blind}{F4}

; F3 + F$
F3 & F4::
    Gosub SetDelimiter
return

; F4
F4 & c::CopyClipboard(4)
F4 & a::AppendClipboard(4)
F4 & s::SwapClipboard(4)
F4 & p::PrintClipboard(4)
F4 & v::PasteClipboard(c4)
F4 & b::PasteClipboard(cp4)
F4 & d::Clear(4)

我发现的问题是,当我使用StrokesPlus快捷方式时,窗口会关闭,但系统仍然会像控制键仍被按下一样离开:我可以按下转义并显示开始菜单(就像你在做的那样)按控制+逃生)。

我已经在Windows 7 64位和Windows XP 64位上复制了这个。

我已经确认如果我在4个剪辑中注释掉所有F4绑定,问题就会消失。

我也在StrokesPlus forumAutohotkey forum上发布了此内容。

2 个答案:

答案 0 :(得分:2)

Rob StrokesPlus论坛的作者reply to my post on the StrokesPlus解决。

acSendControlDown()
acSendKeys("{F_4}")
acSendControlUp()

在StrokesPlus中使用上述内容而不是默认值:

acSendKeys(" {DELAY = 50} ^ {} F_4&#34)

答案 1 :(得分:1)

这是因为默认情况下,Ctrl键在StrokesPlus中被用作“忽略键”,这意味着当按下Ctrl键时,所有鼠标手势都将被暂时禁用。

如果您不使用此功能,则可以转到“首选项”并将“忽略键”设置为“无”。然后,您可以像往常一样将Ctrl键写入脚本。

相关问题