Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Autohotkey SendEvent ^{ins}是';t将内容复制到剪贴板_Autohotkey - Fatal编程技术网

Autohotkey SendEvent ^{ins}是';t将内容复制到剪贴板

Autohotkey SendEvent ^{ins}是';t将内容复制到剪贴板,autohotkey,Autohotkey,问题:尽管进行了选择,Sendevent^{ins}不会将其保存到剪贴板。有时,在将所选内容复制到剪贴板之前,我必须重复热键alt+c多次。KeyWait应该确保只处理^{ins},而不处理任何其他键。我做错了什么 更新 我试图将所选内容强制复制到剪贴板的方法之一是使用while循环。我通过邮局得到了它: 问题 当我做出选择并按下alt+c时,它有时会卡在我实现的无限循环中。但正如您从代码中看到的: !c:: file_name = footnote.ini

问题:尽管进行了选择,Sendevent^{ins}不会将其保存到剪贴板。有时,在将所选内容复制到剪贴板之前,我必须重复热键alt+c多次。KeyWait应该确保只处理^{ins},而不处理任何其他键。我做错了什么


更新 我试图将所选内容强制复制到剪贴板的方法之一是使用while循环。我通过邮局得到了它:

问题 当我做出选择并按下alt+c时,它有时会卡在我实现的无限循环中。但正如您从代码中看到的:

!c::
    file_name = footnote.ini                             
    restore_original_clipBoard := clipboard
    clipboard =
    KeyWait, Alt                
    KeyWait, c                                           ;small c
    BlockInput, on
    SendEvent, ^{ins}                                   ;^c doesn't work
    ClipWait, 2                                     ; Wait for the clipboard to contain text.
    if ErrorLevel
    {
        MsgBox Failed to save the selection: %clipboard%
        exit
    }
    BlockInput, off
    save_selection := clipboard 
剪贴板:=“”
while(StrLen(剪贴板)<1)
{
发送,^{ins}
睡觉,50
}
MsgBox%剪贴板
无限循环本身包含一个^{ins}的连续重发。由于某些原因,我的选择未被识别为选择。当它处于无限循环中时,我尝试重新选择文本。然后它立即识别并将我的选择复制到剪贴板。但是,唉!选择不完整,因为它进行得太快。 这个问题并不总是这样。有时,它会首先识别所选内容!因此,有时它会将我的选择复制到剪贴板,有时则不会。如果没有,则重新发送^{ins}似乎不起作用。我不想让用户重新选择他的选择。这可能吗

clipboard := ""
while( StrLen(clipboard) < 1 )
{
    Send, ^{ins}
    Sleep, 50
}
MsgBox % ClipBoard
如果按Ctrl+C,则必须立即执行此操作,就像按Ctrl+C的命令一样

从未见过用于复制文本的插入键

还发现它也发送Ctrl+C

Send {Ctrl Down}{c}{Ctrl Up}
要发送插入密钥,请使用

Send, ^c
如果按Ctrl+C,则必须立即执行此操作,就像按Ctrl+C的命令一样

从未见过用于复制文本的插入键

还发现它也发送Ctrl+C

Send {Ctrl Down}{c}{Ctrl Up}
要发送插入密钥,请使用

Send, ^c
这种方法对我很有效:

{Insert}
这种方法对我很有效:

{Insert}

根据我的经验,每当击键无法可靠识别时,都是由于系统或目标程序没有跟上这些键的发送速度


对于SendEvent,您可以尝试类似于
SetKeyDelay、1000、1000
的方法,看看这是否能改善情况。另一种选择是发送明确的向下键和向上键,并进行间歇性睡眠调用,如中所述。

根据我的经验,每当击键无法可靠识别时,都是由于系统或目标程序没有跟上这些键的发送速度


对于SendEvent,您可以尝试类似于
SetKeyDelay、1000、1000
的方法,看看这是否能改善情况。另一种选择是发送明确的上下键和间歇性睡眠呼叫,如中所述。

Khalil,您是否知道您可以并且应该接受或讨论您的问题的答案?在过去的几天里,你问了几个问题,但没有一个答案被接受。哈利勒,你知道你可以也应该接受或讨论你问题的答案吗?在过去的几天里,你问了几个问题,但没有一个答案被接受。这不起作用。有一整条线索专门讨论^c不适用于人数统计的问题。你的变通方法根本没用。而且,{INST}是{insert}的正确缩写。它不起作用。有一整条线索专门讨论^c不适用于人数统计的问题。你的变通方法根本没用。另外,{ins}是{insert}的正确缩写。我正在尝试弄清楚这是做什么的,但是文档还没有提供。你能为我澄清一下MsgBox的部分吗?为什么在262前面加一个%,后面加一个点?160:208是什么意思?0:2是什么意思?然后是另一个。然后是0.5秒?另外,如果失败,我希望它重试复制,直到成功。哈利勒:你能为我澄清一下MsgBox部分吗?我在下面的代码中给出了解释。哈利勒:我想让它重新复制,直到成功。哈利勒:还有,你能解释一下原因吗!vk43::工作起来比!c::?因为keybord布局对这些热键没有影响。我可以选择随输入语言变化的键(如果系统中有多种语言)。感谢链接到虚拟扫描代码的好处!我发现即使我改变了键盘布局,我现在也可以使用热键了。我正在尝试弄清楚这是怎么回事,但文档还没有提供。你能为我澄清一下MsgBox的部分吗?为什么在262前面加一个%,后面加一个点?160:208是什么意思?0:2是什么意思?然后是另一个。然后是0.5秒?另外,如果失败,我希望它重试复制,直到成功。哈利勒:你能为我澄清一下MsgBox部分吗?我在下面的代码中给出了解释。哈利勒:我想让它重新复制,直到成功。哈利勒:还有,你能解释一下原因吗!vk43::工作起来比!c::?因为keybord布局对这些热键没有影响。我可以选择随输入语言变化的键(如果系统中有多种语言)。感谢链接到虚拟扫描代码的好处!我发现即使我改变了键盘布局,现在也可以使用热键了。