Что нового

Как скопировать выделенный текст

selahssea

Новичок
Сообщения
3
Репутация
0
Здравствуйте.
Проблема такая. Есть скрипт
Код:
Send("^c")
Sleep(1000) 
$buf = ClipGet()
Sleep(1000)
ShellExecute ("http://www.google.com.by/search?hl=ru&q=" & $buf)

Компилирую этот скрипт в exe-файл, запуск exe-файла вешаю на область на тачпаде (synaptics дрова такое повзволяют)
Выделяю текст, нажимаю область на тачпаде - но выделенный текст не копируется - тоесть скрипт работает со старым буфером.
Копировать выделенный текст нужно из любого приложения, в котором выделил текст и которое сейчас активно.
Внимание! Вопрос: Что же делать?
 

SECTOR

Продвинутый
Сообщения
399
Репутация
59
А если использовать
Код:
Send("^{INSERT}")


вместо

Код:
Send("^с")
 
Автор
S

selahssea

Новичок
Сообщения
3
Репутация
0
не помогает. есть предположение что когда нажимаю на тачпад фокус переводится на script.exe и так как там нечего копировать, в буфере остается то что было
Прошу заметить: скрипт запускается из редактора (F5) а все работает отлично (но только с текстом который выделен в редакторе) и с ^insert и с ^c
Наверное нужно как то вернуть фокус приложению в котором я хочу скопировать текст (это всего лишь предположение новичка), альт(+шифт)+таб_ом не получается.


Добавлено:
Сообщение автоматически объединено:

Кстати, когда запускаю сам экзешник из тотал коммандера, например, в гугл вставляется путь к екзешнику
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
selahssea [?]
нужно как то вернуть фокус приложению в котором я хочу скопировать текст
Можно попробовать деактивировать текущее окно, тогда активным станет предыдущее:

Код:
$hActive = WinGetHandle("")
WinSetState($hActive, "", @SW_MINIMIZE)

ClipPut("")
Send("^{INS}")

$buf = ""

While $buf = ""
	$buf = ClipGet()
WEnd

ShellExecute("http://www.google.com.by/search?hl=ru&q=" & $buf)

WinSetState($hActive, "", @SW_RESTORE)
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
selahssea собственно не пойму в чём у вас проблема?

Synaptics Touchpad позволяет присваивать областям действия, в том числе и вешать на них запуск программ.
Ваш скрипт, прекрасно справляется со своей задачей у меня на ноутбуке!
В настройках, я задал область, при нажатии на которую выполняется ваш скомпилированный скрипт. Всё прекрасно работает!
 
Автор
S

selahssea

Новичок
Сообщения
3
Репутация
0
Garrett, сам не знаю почему, но у меня не работает.
А вот CreatoR-у спасибо. Все заработало. Вопрос снят.
 
Верх