我制作了这个简单的脚本,允许我拥有多个剪贴板。通过选择一些文本并按 Win+1,将文本复制到 Clipboard1 中。如果我没有选择文本,则粘贴剪贴板的内容。Win+2 和 3 也是如此。
它有效,但我有两个小问题要解决。
首先,代码:
copiesOrNot()
{
tempClip1Test1 = %Clipboard%
Send ^c
tempClip1Test2 = %Clipboard%
if (tempClip1Test1 = tempClip1Test2)
return false
else
return true
}
#1::
if copiesOrNot()
clipText1 = %Clipboard%
else
SendRaw %clipText1%
Return
#2::
if copiesOrNot()
clipText2 = %Clipboard%
else
SendRaw %clipText2%
Return
#3::
if copiesOrNot()
clipText3 = %Clipboard%
else
SendRaw %clipText3%
Return
我的问题:
1) 在 Chrome(和其他一些浏览器)中,每当发送复制命令且未选择文本时,都会发出恼人的哔声。由于这在我的代码中使用(在函数copyOrNot 中),所以当我在Chrome 中使用脚本时会发出哔哔声。
我不反对在未选择文本的情况下手动尝试复制时发出哔哔声,但我想在我的脚本上下文中绕过该警告。可能吗?
或者任何人都可以提出另一种检查是否选择文本的方法?我通过发送复制命令并检查剪贴板中是否有任何更改来做到这一点,我意识到这不是一个很好的解决方案,尽管它可以工作(问题是,在 Windows 中,每当您尝试复制而不选择文本时,剪贴板未清空 - 它只是保留当前内容)。
(我确实找到了一些替代方法来检查是否选择了文本,但它们非常复杂,或者需要额外的库。我宁愿保持简单)
2) 我不想为每个数字重复代码(Win+1、Win+2 等)。有没有办法做到这一点?例如:是否在用户按下 Win+ANY-NUMBER 时激活脚本,然后在代码中获取实际数字值并使用它来创建动态命名的变量?
谢谢!
PS:让我知道这是否令人困惑(我的英语不是很好)或者我发错了地方(这是我在 StackOverflow 的第一篇文章)