Autohotkey ClipboardAll 功能不起作用
Autohotkey ClipboardAll in function does not work
我在 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)
但如果我尝试使用 "Clipboard" 复制函数,那么它确实有效。
似乎 AutoHotkey 的数组不能存储 clipboardAll
的内容。有人应该报告这个...
相反,如果您使用 pseudo arrays,它会起作用。所以你可以选择这个
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
我在 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)
但如果我尝试使用 "Clipboard" 复制函数,那么它确实有效。
似乎 AutoHotkey 的数组不能存储 clipboardAll
的内容。有人应该报告这个...
相反,如果您使用 pseudo arrays,它会起作用。所以你可以选择这个
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