Да. AHK слишком быстр. Эти вещи в буфере обмена требуют времени. Проверьте это. Вот как это сделать:
; Using ClipWait to improve script reliability:
clipboard = ; Start off empty to allow ClipWait to detect change
Send, ^c
ClipWait ; Wait for the clipboard to contain text.
Run "directory\try.py"
Возможно, вам даже придется добавить время сна:
; Using ClipWait to improve script reliability:
clipboard = ; Start off empty to allow ClipWait to detect change
Sleep, 50 ; milliseconds
Send, ^c
ClipWait ; Wait for the clipboard to contain text.
Sleep, 150 ; milliseconds
Run "directory\try.py"
Или еще лучше, попробуйте так (используя функцию OnClipboardChange
):
OnClipboardChange("ClipChanged")
return
^x::
Send, ^c
return
ClipChanged(Type) {
MsgBox "%Clipboard%" ; comment out if working well
run "directory\try.py"
ExitApp
}
Вы можете закомментировать окончание ExitApp
, но тогда не только ^x
запустит его, но и каждый раз, когда меняется буфер обмена (так что если вы нажмете control+c
самостоятельно), и вам понадобится какой-нибудь способ выхода из команды, например, как ^{esc}::ExitApp
или тому подобное.
Hth !!