Что нового

Как сделать повторное копирование в буфер после его опустошения

StarEdik

Новичок
Сообщения
365
Репутация
4
Скрипт делает только одно действие - выделяет. копирует и вставляет. Но бывает случаи когда случайно вставляется в документ инфа которая скопировано в буфер. И чтоб этого не случилось пришлось очищать буфер.
Первый раз происходить копирование, но дальше, при следующем нажатии возвращается пустое значение, выделенное не копируется в буфер. Так. как же добиться повторное копирование в буфер после его опустошения.

Код:
HotKeySet("{F1}", "_GetText")
While 1
	Sleep(100)
WEnd

Func _GetText()

	If MouseGetCursor() = 5 Then
		MouseClick("LEFT")
		Send("^a")
		Sleep(100)
		;Send("^{INSERT}")
		 Send('^c')
		$sClip = ClipGet()
		MsgBox(0, "Буфер содержит:", $sClip, 1)
		Sleep(200)
		ClipPut('')
	EndIf
EndFunc   ;==>_GetText
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
StarEdik
Нет необходимости очищать буфер обмена - он всё равно будет перезаписан. Поэтому просто удалите
Код:
ClipPut('')
Ещё вариант: добавить задержку после копирования
Код:
...
        Send('^c')
        Sleep(30)
        $sClip = ClipGet()
...
 
Верх