Что нового

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

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,912
Репутация
1,429
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
 

SharkyEXE

Новичок
Сообщения
134
Репутация
0
Всем здравствуйте

Возможно или нет создать код для обнаружения

Одиночное нажатие клавиши - На клавиатуре нажата кнопка один раз

Двойное нажатие клавиши - На клавиатуре быстро дважды нажата кнопка

Длительное нажатие клавиши - На клавиатуре я нажал и удерживаю кнопку
 
Верх