Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Как взять в буфер выделенный текст (http://forum.oszone.net/showthread.php?t=283023)

maxd2007 02-06-2014 12:02 2358830

Как взять в буфер выделенный текст
 
Есть такой скрипт:
Код:

HotKeySet("^c", "_Func")

While 1
WEnd

Func _Func()
  MouseMove (100, 100)
EndFunc

После нажатия ctrl+c скрипт выполняется, но в буфер выделенный текст не берется, подскажите как решить данную проблему?

madmasles 02-06-2014 13:36 2358874

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


maxd2007 02-06-2014 14:30 2358899

В Вашем варианте работает даже 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


madmasles 02-06-2014 14:54 2358908

maxd2007,
Я добавил комментарии в код.

Цитата:

Цитата maxd2007
работает даже ctrl+c »

Посмотрите здесь: Обход проблемы с HotKeySet/Accelerators при разных раскладках клавиатуры

maxd2007 02-06-2014 16:55 2358969

Еще раз большое спасибо )))


Время: 03:58.

Время: 03:58.
© OSzone.net 2001-