【发布时间】:2016-10-26 03:33:00
【问题描述】:
我正在尝试拥有 2 个(或更多)剪贴板,带有 ahk 脚本。
所需的行为是使用标准的 ^v 加上 !v 所以它将是 2 个剪贴板。 ^v 是通常的,!v 将是 ^v 以前的内容。
如果我在剪贴板上复制“text1”,我会将其作为 ^v。如果我复制'text2',我将在剪贴板上使用^v 获得'text2',加上旧的'text1' 可用!v,依此类推。
到目前为止:
lastclip = %clipboard%
!v::
global lastclip
sendclip(lastclip)
return
ClipWaitChange()
ClipWaitChange()
{
While changed=0 {
global lastclip
lastclip = %clipboard%
Sleep 10
}
OnClipboardChange:
changed = 1
return
}
但它会返回一个空白剪贴板,或者 ^v 可能会停止工作。
任何提示如何做到这一点?
sendclip 只是一个自定义函数,通过键盘发送剪贴板内容
我尝试将 lastclip = %clipboard% 放在 onclipboardchange 中,但它会复制当前更改的剪贴板,因此必须在此之前完成。
【问题讨论】:
-
有些事情我不清楚:1)
While changed=0 {的右括号在哪里? 2) 如果您已经有了方便的“事件”OnClipboardChange,为什么还要首先创建一个等待循环? 3) 你说的是^v,它是CTRL+v。在您的代码中,您定义了!v,即 ALT+v。我们在谈论哪个热键?请准确描述您希望在哪个事件或用户操作上发生什么,以及您希望如何分别写入和读取 2 个剪贴板。 -
我想我需要一段时间来不断检查/粘贴当前的剪贴板。我正在更新描述
标签: clipboard autohotkey