Тема: AHK: Копирование при зажатой левой клавише мыши
Идея скрипта - копировать текст при выделении, если на некоторое время остается зажатой левая клавиша мыши. Написал тестовый вариант.
Подробное описание - при двойном клике и последующем зажатии копирует текст в буфер обмена и под мышкой вылезает тултип "copy", изчезающий как только ЛКМ отпускается. При одиночном зажатии клавиши и выделении текста копирует его в буфер, причем проверяет, отпущена ли клавиша и если нет, то следит, двигается ли мышь и если двигается, продолжает копировать текст до отпускания ЛКМ. Т.е. если выделить часть текста, затем не отпуская клавишу еще выделить, то он скопирует именно выделенную часть текста.
Недостатки - скрипт работает в холостую - если просто где-нибудь зажать клавишу, он работает. Было бы здорово, если бы он определял текст и работал только с ним.
~LButton::
x1 =
y1 =
loop
{
MouseGetPos, x2, y2
Sleep, 200
if (x1 = %x2% and y1 = %y2%)
Break
x1 = %x2%
y1 = %y2%
}
KeyWait, Lbutton, U T.5
if errorlevel = 1
{
Label1:
ControlGetFocus, control, A
SendMessage, 0x301, , , %control%, A
ToolTip, Copy
KeyWait, Lbutton, U T.5
if errorlevel = 1
{
x3 =
y3 =
loop
{
MouseGetPos, x4, y4
Sleep, 200
if (y3 = %y4% and x3 = %x4%)
Break
x3 = %x4%
y3 = %y4%
}
Goto, Label1
}
Else
{
ToolTip
Exit
}
}
Exit
Return