Autohotkey 自动热键脚本首次使用后失败

Autohotkey 自动热键脚本首次使用后失败,autohotkey,Autohotkey,我正在使用一个帮助文件作为Word 2007文档。我需要在浏览时更新屏幕截图,所以我试图让AHK在按下组合键时从右键单击下拉菜单中选择“更改图片”选项。我有密码,它工作得很好。。。我第一次用的时候。之后,我只看到右击菜单闪烁并消失。我怀疑Send{Down 4}on上的脚本没有执行,因为我几乎看不到突出显示的“Cut”选项,但所选图像没有从文档中剪切,这表明Send{Enter}也没有执行 我找不到其他有这个问题的人。如果我手动重新加载脚本,它会再次正常工作,但只有一次。然后,它将返回到闪烁下拉

我正在使用一个帮助文件作为Word 2007文档。我需要在浏览时更新屏幕截图,所以我试图让AHK在按下组合键时从右键单击下拉菜单中选择“更改图片”选项。我有密码,它工作得很好。。。我第一次用的时候。之后,我只看到右击菜单闪烁并消失。我怀疑Send{Down 4}on上的脚本没有执行,因为我几乎看不到突出显示的“Cut”选项,但所选图像没有从文档中剪切,这表明Send{Enter}也没有执行

我找不到其他有这个问题的人。如果我手动重新加载脚本,它会再次正常工作,但只有一次。然后,它将返回到闪烁下拉列表,而不再显示其他内容。任何帮助都将不胜感激。我试图让这个过程尽可能地减少点击次数,但这已经到了一个地步,我要浪费更多的时间来解决我的宏问题,而不仅仅是缓慢笨拙的方式

我现在的脚本:

^!z::
    Send +{F10}
    Send {Down 4}
    Send {Enter}
    return
为澄清起见:

当我删除Send+{F10}之后的所有内容,然后使用热键时,我会显示右键单击菜单,并且不会闪烁,但还是第一次使用它。之后,菜单返回到屏幕上闪烁一次。要进行比较,实际上按Shift键和{F10}键会显示右键单击菜单,并且在提升时不会消失


如果我将所有三个Send命令移动到一行中以获得Send+{F10}{Down 4}{Enter},脚本将从右键单击菜单执行“Cut”选项,然后将光标向下移动4行,然后发送{Enter}击键。与以前的实例不同,这组操作在首次使用脚本后生效。

在我的Word副本中,如果选择了图像,则控制键会导致弹出一个辅助“布局选项”菜单。虽然我不确定为什么它第一次对您有效,但随后就不行了,当我在结束时测试它时,如果我改变两件事,它就会有效:

使用鼠标右键单击,而不是使用Send+{F10} 将快捷方式修改器从shift ctrl更改为Win,即将其设置为z
您可以尝试发送键盘快捷键,而不是“向下”命令

SetBatchLines, 1
SetKeyDelay , 100   ; in miliseconds, keep increasing until your pc can hadle it

!x::    ; your hotkey in my case alt + x which is similar to ctrl + x for cutting text
    Send +{F10}
    Send {t}    ; use the cut keyboard shortcut, for word should be 't'. if for some weird reason isn't change it
    Send {Enter}
return

你的方法有效。如果没有人回答为什么我的原始脚本在一天结束前无法工作的问题,我会将此标记为我接受的答案。谢谢你的意见。作为旁注:从我的原始热键中删除ctrl,使其仅为alt+z,不会执行mouseclick,right命令,而是执行其他两个命令。我对使用AHK脚本还很陌生,所以这对我来说既有趣又神秘。。。当击键速度过快时,在执行下一条指令之前添加几行小停顿:Sleep,50。通过这种方式,菜单可以跟上脚本的快速启动。问题不在于命令发送到Word的速度,而在于第一次使用后脚本无法正确执行。第一次就可以了。但是,如果我选择另一张图片,然后再试一次,那就不好了。我相信上下文菜单可能会导致按下控制键时出现奇怪的交互。好了,在脚本结束时,控制键仍然被按住,因为脚本完成得非常快,但是计算机可能认为它们被释放了。它也可能会无意中打开菜单,或者Word应用程序可能会失去焦点。如何让热键再次工作?重新加载脚本?重新启动Word?