我制作了这个简单的脚本,允许我有多个剪贴板。通过选择一些文本并按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中的第一篇文章)