Copy 自动热键剪贴板All in功能不起作用

Copy 自动热键剪贴板All in功能不起作用,copy,clipboard,autohotkey,paste,Copy,Clipboard,Autohotkey,Paste,我的Autohotkey中有此脚本,但由于某些原因,它不适用于ClipboardAll函数: global clips := Object() copy(index){ Send ^c clips[0] := ClipboardAll } paste(index){ Clipboard := clips[0] Send ^v } ^q:: copy(0) !q:: paste(0) 但是,如果我尝试使用“剪贴板”复制函数,那么它确实可以工作。似乎AutoHotk

我的Autohotkey中有此脚本,但由于某些原因,它不适用于ClipboardAll函数:

global clips := Object()
copy(index){
    Send ^c
    clips[0] := ClipboardAll
}
paste(index){
    Clipboard := clips[0]
    Send ^v
}
^q:: copy(0)
!q:: paste(0)

但是,如果我尝试使用“剪贴板”复制函数,那么它确实可以工作。

似乎AutoHotkey的数组无法存储
clipboardAll
的内容。有人应该报告这件事

相反,如果你使用,它会起作用。所以你可以选择

global clips0,clips1,clips2,clips3,clips4   ; ...
copy(index){
    Send ^c
    clips%index% := ClipboardAll
}
paste(index){
    Clipboard := clips%index%
    Send ^v
}
^q:: copy(0)
!q:: paste(0)
这与您的解决方案很接近,但受数组大小的限制,因为您必须将每个变量声明为全局变量

除此之外,我能看到的最好的方法是在子例程中处理一切,而不是在函数中。这样,所有变量都将是全局变量:

copy:
    Send ^c
    clips%index% := ClipboardAll
return

paste:
    Clipboard := clips%index%
    Send ^v
return

^q::
    index := 0
    goSub, copy
return

!q::
    index := 0
    goSub, paste
return