-
AutoIt
(
http://forum.oszone.net/forumdisplay.php?f=103)
Как взять в буфер выделенный текст
Есть такой скрипт:
Код:
HotKeySet("^c", "_Func")
While 1
WEnd
Func _Func()
MouseMove (100, 100)
EndFunc
После нажатия ctrl+c скрипт выполняется, но в буфер выделенный текст не берется, подскажите как решить данную проблему?
|
maxd2007,
Попробуйте сделать так (Ctrl+INSERT).
Код:
HotKeySet('^{INSERT}', '_Func');назначаем функцию _Func для нужного действия
HotKeySet('{Esc}', '_Exit');назначаем функцию _Exit для выхода
While Sleep(100)
WEnd
Func _Func()
HotKeySet('^{INSERT}');т.к. HotKeySet() перехватывает нажатие '^{INSERT}', поэтому освобождаем '^{INSERT}'
Send('^{INSERT}');нажимаем '^{INSERT}', чтобы получить в буфер выделенный текст в активном окне
ConsoleWrite(ClipGet() & @LF);для отладке пишем в консоль содержимое буфера
MouseMove(100, 100);делаем какое-то действие
HotKeySet('^{INSERT}', '_Func');опять назначаем функцию _Func для нужного действия
EndFunc ;==>_Func
Func _Exit()
Exit
EndFunc ;==>_Exit
|
В Вашем варианте работает даже ctrl+c. Спасибо большое.
Но можно спросить:
Код:
HotKeySet('^{INSERT}', '_Func')
HotKeySet('{Esc}', '_Exit')
While Sleep(100)
WEnd
Func _Func()
HotKeySet('^{INSERT}') ; - зачем еще раз прописан ctrl+insert (для того что бы буфер брал)?
Send('^{INSERT}')
ConsoleWrite(ClipGet() & @LF) ; - для чего это? (что бы он корректно взял в буфер?)
MouseMove(100, 100)
HotKeySet('^{INSERT}', '_Func'); - это для зацикливание скрипта сделано?
EndFunc ;==>_Func
Func _Exit()
Exit
EndFunc ;==>_Exit
|
Еще раз большое спасибо )))
|
Время: 03:58.
© OSzone.net 2001-