我不知道这是否有可能,但这里有一个更好地说明的例子。
假设我们有一个小单词列表:
-房子
-电脑
-衣服
-人类
假设我们可以使用 ctrl + a 选择 house。现在如果我们想选择下一个单词,我们按 tab 键,然后再次按 ctrl + a。
我希望每个单词都保存在某个地方,所以当我按下按钮 f1 时,房子就会被粘贴。当我按下 f2 时,计算机就会被粘贴,等等。
当我达到特定数量的单词时,我希望我们清空“缓存”或任何它可能被称为的东西:p
使用 autohotkey 可以实现这一点吗?我有一些基本知识,但我认为这有点冒险。
答案1
; Create an object (array) to save the selected word (value)
; each time you press your key (combination):
MyArray := []
Index := 0
MaxIndex = 12 ; specific amount of words
; select next word and press your key (e.g. esc) to save the selected word in the array:
esc::
ClipSaved := ClipboardAll ; save the entire clipboard to the variable ClipSaved
clipboard := "" ; empty clipboard
Send, ^c ; copy the selected word
ClipWait 1 ; wait for the clipboard to contain data
If !ErrorLevel ; If NOT ErrorLevel clipwait found data on the clipboard
{
Index++ ; checks the number in the variable "Index" and increases it by 1, each time you press esc.
if (Index = MaxIndex+1) ; when the specific amount of words is exceeded
{
Index := 1 ; set this variable to 1
MyArray := [] ; recreate the object (empty the array)
}
MyArray.Insert(Index, clipboard)
}
Sleep, 300
clipboard := ClipSaved ; restore original clipboard
return
f1:: SendInput, % MyArray[1]
f2:: SendInput, % MyArray[2]
f12:: SendInput, % MyArray[12]
为了更好地理解整个背景,请阅读 https://www.autohotkey.com/docs/Tutorial.htm#s7