Что нового

[Мышь, клавиатура] Настройка скрипта на двойное нажатие левой кнопки мыши

Ak1nak

Новичок
Сообщения
4
Репутация
0
Задача:
На двойное нажатие мышки сделать CTRL+c, открыть окно хрома, открыть в нём новую вкладку(CTRL+t), CTRL+v, ENTER.
Скопировать я должен часть текста выделяемого в текстовом файле как раз двойным нажатием(выделяется часть текста в кавычках).
Проблема в том что скрипт не ждёт выделения текста даже при Sleep..
Сам код:

Код:
#include <GUIConstants.au3>
#include <MouseOnEvent.au3>

HotKeySet ( "{ESC}", "Quit" )
_MouseSetOnEvent($MOUSE_PRIMARYDBLCLK_EVENT, '_MouseDblClicked')


While 1
Sleep(50)
WEnd

Func _MouseDblClicked()
;Send("+{HOME}")
Sleep(700)
Send("^c")
Sleep(400)
WinActivate ( "Новая вкладка - Google Chrome" )
Sleep(400)
Send("^t")
Sleep(400)
Send("^v")
Sleep(400)
Send("{ENTER}")
ClipPut ("")

EndFunc

Func Quit()
   Exit
EndFunc

Как добиться чтобы он сначала ждал выделения текста?
 

InnI

AutoIT Гуру
Сообщения
4 465
Репутация
1 210
Ak1nak
Код:
#include <MouseOnEvent.au3>

Opt("SendKeyDelay", 400)
HotKeySet ( "{ESC}", "Quit" )

Global $IsDblClick = 0
_MouseSetOnEvent($MOUSE_PRIMARYDBLCLK_EVENT, '_MouseDblClicked')

While 1
  If $IsDblClick Then _Copy()
  Sleep(50)
WEnd

Func _MouseDblClicked()
  $IsDblClick = 1
EndFunc

Func _Copy()
  Sleep(100)
  Send("^c")
  WinActivate ( "Новая вкладка - Google Chrome" )
  Send("^t")
  Send("^v")
  Send("{ENTER}")
  ClipPut ("")
  $IsDblClick = 0
EndFunc

Func Quit()
   Exit
EndFunc
 
Автор
A

Ak1nak

Новичок
Сообщения
4
Репутация
0
Ах вот как...
Спасибо.
 
Верх