2

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

4

0 回答 0