Я пытаюсь создать программу, которая копирует строку текста, а затем вставляет ее, но по какой-то причине она не будет копироваться, а 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 ответ1

0

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%

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .