Autohotkey 中文论坛

完整版: 简单实用的剪切板,支持拷贝多段文字,然后顺序粘贴
你目前正在浏览的是简化版. 请点击这里浏览完整版
我改装自官网,
支持最多30段复制,
#0:清空
^c:复制
#v:依次粘贴
#]:依次粘贴,但顺序相反
其他的快捷键我不怎么用
代码:
handleClip(action)
{
global static AddNextNum
global static GetNextNum
global static HighestNum
global static getprevnum
global static highest1
global static ClipArray
global static ClipArray1
global static ClipArray2
global static ClipArray3
global static ClipArray4
global static ClipArray5
global static ClipArray6
global static ClipArray7
global static ClipArray8
global static ClipArray9
global static ClipArray10
global static ClipArray11
global static ClipArray12
global static ClipArray13
global static ClipArray14
global static ClipArray15
global static ClipArray16
global static ClipArray17
global static ClipArray18
global static ClipArray19
global static ClipArray20
global static ClipArray21
global static ClipArray22
global static ClipArray23
global static ClipArray24
global static ClipArray25
global static ClipArray26
global static ClipArray27
global static ClipArray28
global static ClipArray29
global static ClipArray30

if (action = "save")
{
if (AddNextNum < 30)
{
AddNextNum += 1 ;
}
else
{
AddNextNum := 1 ;
}


if (HighestNum < 30)
{
HighestNum += 1 ;
}

GetNextNum := AddNextNum ;
ClipArray%AddNextNum% := Clipboard
highest1 := highestnum + 1
getprevnum := 1

}
else if ((action = "get") OR (action = "roll"))
{
if (GetNextNum != 0)
{
if (action = "roll")
{
Send, ^z
}
Clipboard := ClipArray%GetNextNum%
if (GetNextNum > 1)
{
GetNextNum -= 1 ;
getprevnum++
}
else
{
getprevnum := 1
GetNextNum := HighestNum

}
Send, ^v
}
}
else if (action = "get-reverse")
{
if (GetNextNum != 0)
{

Clipboard := ClipArray%getprevnum%
if (GetNextNum > 1)
{
GetNextNum -= 1 ;
getprevnum++
}
else
{
getprevnum := 1
GetNextNum := HighestNum

}
Send, ^v
}
}


else if (action = "rollforward")
{
if (GetNextNum != 0)
{
Send, ^z
if (GetNextNum < HighestNum)
{
GetNextNum += 1 ;
}
else
{
GetNextNum := 1
}
Clipboard := ClipArray%GetNextNum%
Send, ^v
}
}
else if (action = "clear")
{

GetNextNum := 0
AddNextNum := 0
HighestNum := 0
getprevnum := 0
}
}

#0::
handleClip("clear")
return

^c::
suspend on
Send, ^c
suspend off
handleClip("save")

return

#v::
handleClip("get")
return

#]::
handleClip("get-reverse")
return
#\::
handleClip("roll")
return

#/::
clipboard =
return

#^\::
handleClip("rollforward")
return

附件损坏,已记录,直接使用上面的代码(By RobertL)
好用,顶一个
怎么用呢
楼主能详细说明一下吗?
怎么没有人说明一下
不错,如果能够自动在粘贴完毕后清空剪贴板就好了。
例如,复制了三次,分别为内容1,内容2,内容3.
现在这个代码的功能是,粘贴时可以一次贴出内容1,内容2,内容3.
但是如果此时再次按下热键,依然可以循环贴出内容1,内容2,内容3.
附件已坏,代码还是很好用的。
不过,正如标题所言只适用于文本,无法对文件实现相同功能,期待有大神能解决。

另,是否可以修改论坛发帖与回复的编辑器,在代码栏下添加一按钮“复制以上代码”,使上述代码一键复制至剪贴板,并屏显提示“已成功复制代码到剪贴板”?
(2014-05-16 09 : 49)逆风の狼 提到: [ -> ]附件已坏,代码还是很好用的。
不过,正如标题所言只适用于文本,无法对文件实现相同功能,期待有大神能解决。

另,是否可以修改论坛发帖与回复的编辑器,在代码栏下添加一按钮“复制以上代码”,使上述代码一键复制至剪贴板,并屏显提示“已成功复制代码到剪贴板”?

嗯,考虑看看好加否。
手册中有收录剪切板加强工具,可以瞅下,,
为全留个记号
[quote='vectorspace1' pid='12467' dateline='1260547381']
我改装自官网,
支持最多30段复制,
#0:清空
^c:复制
#v:依次粘贴
#]:依次粘贴,但顺序相反
其他的快捷键我不怎么用

我想问下是不是剪切板的内容都存在变量里??
有什么方法能保存到文件吗,这样似乎比较稳定啊
还有是不是不是ctrl c的就不会保存?比如我对链接右键复制的
可惜右键复制无效
参考网址