Autohotkey热串太慢

  • 本文关键字:Autohotkey autohotkey
  • 更新时间 :
  • 英文 :


如果我将Hotstring插入到另一个程序中,它不够快,有时会在正确的位置上混合键或它滞后。当我使用长文本时,就会发生这种情况。

我正在使用:

:*:ex1::Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod t
empor incididunt ut labore et dolore magna aliqua. Ut enim ad minim venia
m, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commod
o consequat. Duis aute irure dolor in reprehenderit in voluptate velit es
se cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupida
tat non proident, sunt in culpa qui officia deserunt mollit anim id est l
aborum Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod t
empor incididunt ut labore et dolore magna aliqua. Ut enim ad minim venia
m, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commod
o consequat. Duis aute irure dolor in reprehenderit in voluptate velit es
se cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupida
tat non proident, sunt in culpa qui officia deserunt mollit anim id est l
aborum

并且会导致一些错误或更长的等待时间。

这工作得更快,但有时我会得到一个错误的双文本,如果我按Endchar像enter太快,或者我做一些不同的事情,我不能把我的手指。

:*:ex2::  
Clipboard = %text%
Send ^v
Exit

也有剪贴板混乱(我想我可以用一个变量存储它并重新填充它,但我使用这个多剪贴板从windows windows +V)

我也在更新自动热键脚本与excel,它是更容易使用连接与第一个例子。

=IF(List1!B34<>"",(CONCATENATE(":",List1!C34,":",List1!A34,"::",List1!B34)),(CONCATENATE(";",List1!A34)))

我可以在C中使用类似于*0的东西在A中是快捷方式,在B中是实际文本。如果快捷键字段中没有任何内容,则将我的标题插入到代码中以获得更好的概述。

感谢

试试这个

:*:ex1::                    
ClipSaved := ClipboardAll  ; save the entire clipboard to the variable ClipSaved
clipboard := ""            ; empty the clipboard (start off empty to allow ClipWait to detect when the text has arrived)
clipboard =                ; copy this text:
(
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. 
Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. 
Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. 
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. 
Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. 
Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. 
Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum.
)
ClipWait, 1                   ; wait for the clipboard to contain data. 
If (!ErrorLevel)              ; If NOT ErrorLevel clipwait found data on the clipboard
Send, ^v                  ; paste the text
Sleep, 300                    ; don't change clipboard while pasting! (Sleep > 0)
clipboard := ClipSaved        ; restore original clipboard
VarSetCapacity(ClipSaved, 0)  ; free the memory
return

如果你经常要发送这么复杂或长的文本,你可以创建一个函数,以避免每次都重复整个代码:

:*:ex1:: 
my_text =
(
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. 
Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. 
Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. 
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. 
Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. 
Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. 
Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum.
)
Send(my_text)
return
Send(text){
ClipSaved := ClipboardAll
clipboard := ""
clipboard := text
ClipWait, 1
If (!ErrorLevel)
Send, ^v        
Sleep, 300
clipboard := ClipSaved
VarSetCapacity(ClipSaved, 0)
}

参见ClipboardAll和ClipWait

最新更新