Я пытаюсь создать программу, которая копирует строку текста, а затем вставляет ее, но по какой-то причине копирование не происходит, и CopyWait 5 всегда истекает
Backspace::
MouseMove, 500, 325
Click down
MouseMove, 1245, 325
Clipboard =
Send, ^c
ClipWait 2
msgbox, %Clipboard%
Click up
Click
sleep, 100
clip1=%Clipboard%
Send, %clip1%
Есть идеи, как это исправить и что я делаю не так?
решение1
Кажется , MouseMove
что вы заштриховываете текст, который хотите скопировать? Click
MouseMove
Работает ли ^c нормально в программе, из которой вы копируете, если кнопка мыши все еще удерживается нажатой? (Вы можете проверить это вручную)... поскольку в приведенном выше скрипте щелчок мыши не отпускается до тех пор, пока не будет выполнена команда копирования — я бы ожидал, что оператор будет Click up
следовать за вторым MouseMove
, до того, как будет очищен буфер обмена, хотя я не думаю, что это должно как-то повлиять в большинстве программ, но это можно попробовать.
MouseMove, 500, 325
Click down
MouseMove, 1245, 325
Click up
Кстати, вы также можете сохранить/восстановить буфер обмена, если не хотите, чтобы ваш скрипт навсегда его изменил...
lastClipboard=%clipboardAll%
Clipboard =
; (code that modifies the clipboard goes here)
clipboard=%lastClipboard%