使用一个循环队列缓存剪切板中的文本
#SingleInstance, Force
#Persistent
SendMode Input
SetWorkingDir, %A_ScriptDir%
global Array := [] ;声明一个数组
global rear := 1 ;队尾
global front := 1 ;队头
global maxS1ze := 100 ;队列的最大长度为
OnClipboardChange("ClipboardChange")
ClipboardChange(Type) {
if (Type == 1) {
Array.InsertAt(rear, Clipboard)
rear := mod((rear + 1), maxS1ze) ;入队
}
}
!1::
MsgBox, % Array[front]
Clipboard = % Array[front]
front := mod((front + 1), maxS1ze) ; 出队
return
; !2::
; For index, value in array
; MsgBox % "Item " index " is '" value "'"
; return
; !3::
; MsgBox % "rear:" rear "," "front:" front
; return
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
哈哈学习了