Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Как взять в буфер выделенный текст

Ответить
Настройки темы
[решено] Как взять в буфер выделенный текст

Новый участник


Сообщения: 34
Благодарности: 0

Профиль | Отправить PM | Цитировать


Есть такой скрипт:
Код: Выделить весь код
HotKeySet("^c", "_Func")

While 1
WEnd

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

Отправлено: 12:02, 02-06-2014

 

Аватара для madmasles

Ветеран


Сообщения: 812
Благодарности: 353

Профиль | Отправить PM | Цитировать


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

Последний раз редактировалось madmasles, 02-06-2014 в 14:53. Причина: добавление комментариев в код

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:36, 02-06-2014 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 34
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

Отправлено: 14:30, 02-06-2014 | #3


Аватара для madmasles

Ветеран


Сообщения: 812
Благодарности: 353

Профиль | Отправить PM | Цитировать


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

Цитата maxd2007:
работает даже ctrl+c »
Посмотрите здесь: Обход проблемы с HotKeySet/Accelerators при разных раскладках клавиатуры

Последний раз редактировалось madmasles, 02-06-2014 в 15:04.

Это сообщение посчитали полезным следующие участники:

Отправлено: 14:54, 02-06-2014 | #4


Новый участник


Сообщения: 34
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

Отправлено: 16:55, 02-06-2014 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Как взять в буфер выделенный текст

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
LCD-мониторы: текст тёмных цветов выглядит как чёрный текст CyraxZ Видеокарты 7 11-05-2013 20:45
Система - [решено] Как сделать чтобы любой выделенный текст попадал в буфер обмена А_н_д_р_ей Программное обеспечение Windows 4 09-10-2010 14:40
Как скопировать текст из окна в буфер обмена Str_ani_ck AutoIt 10 12-08-2009 11:03
вопрос по VC++ 7. как отобразить выделенный текст в строке состояния? ThereIsNoName Программирование и базы данных 7 26-01-2005 14:20
Как занести текст в буфер ? APOSTOL Microsoft Windows 95/98/Me (архив) 2 19-02-2003 16:44




 
Переход