//1--------------------------------------------------------
if((iskeydown(111)=1) and (iskeydown(97)=1))
LCLICK(-1273,184)
END_IF
//2--------------------------------------------------------
if((iskeydown(111)=1) and (iskeydown(98)=1))
LDOWN($_xmouse,$_ymouse)
WAITMS(50)
LUP(-1070,185)
END_IF
//3--------------------------------------------------------
if((iskeydown(111)=1) and (iskeydown(99)=1))
LDOWN($_xmouse,$_ymouse)
WAITMS(50)
LUP(-884,185)
END_IF
//4--------------------------------------------------------
if((iskeydown(111)=1) and (iskeydown(100)=1))
LDOWN($_xmouse,$_ymouse)
LUP(1066,26)
END_IF
//5--------------------------------------------------------
if((iskeydown(111)=1) and (iskeydown(101)=1))
LDOWN($_xmouse,$_ymouse)
LUP(1259,26)
END_IF
//6--------------------------------------------------------
if((iskeydown(111)=1) and (iskeydown(102)=1))
LDOWN($_xmouse,$_ymouse)
LUP(1456,24)
END_IF
//7--------------------------------------------------------
if((iskeydown(111)=1) and (iskeydown(103)=1))
LDOWN($_xmouse,$_ymouse)
LUP(1259,26)
END_IF
//8--------------------------------------------------------
if((iskeydown(111)=1) and (iskeydown(104)=1))
LDOWN($_xmouse,$_ymouse)
LUP(1259,26)
END_IF
//9--------------------------------------------------------
if((iskeydown(111)=1) and (iskeydown(105)=1))
LDOWN($_xmouse,$_ymouse)
LUP(1259,26)
END_IF
в браузерах клики и прочие нажатия- отжатия просто так не проходят, нужно предварительное изменение курсора или картинки под курсором.
да и по отрицательным координатам кликер не работает, он будет кликать в текущие , вместо LCLICK(-1273,184) можно написать LCLICK(-1,184) или LCLICK($_xmouse,184) и клик будет в одно и тоже место, но к сожалению не туда куда вы хотели.
Чтоб избежать отрицательных координат, располагайте первый монитор, ТОЛЬКО СЛЕВА!
LCLICK(-1273,184)
работает как часики(а вот остальное нет :-[ :-[ :-[)такое чувство, что Вы себя хотите обмануть, работат у вас только одинокий и непонятный клик, а в остальных местах описанные вами неработающие перетаскивания!!! :oCode: (clickermann) [Select]LCLICK(-1273,184)
работает как часики(а вот остальное нет :-[ :-[ :-[)
если первый монитор слева, а второй справа, то откуда взялись отрицательные координаты? ;D)?
такое чувство, что Вы себя хотите обмануть, работат у вас только одинокий и непонятный клик, а в остальных местах описанные вами неработающие перетаскивания!!! :oCode: (clickermann) [Select]LCLICK(-1273,184)
работает как часики(а вот остальное нет :-[ :-[ :-[)
SUB(mouse_move,$MOVE_END_X,$MOVE_END_Y)
$MOVE_SPEED = 3 // множитель скорости
$MOVE_Start_X = $_xmouse
$MOVE_Start_Y = $_ymouse
$MOVE_X = $MOVE_Start_X
$MOVE_Y = $MOVE_Start_Y
$dist = DIST($MOVE_END_X,$MOVE_END_Y,$MOVE_Start_X,$MOVE_Start_Y)
$MOVE_SPEEDVAR = INT((SQRT($dist))/$MOVE_SPEED)
IF($MOVE_SPEEDVAR < 1)
$MOVE_SPEEDVAR = 1
END_IF
$MOVE_step=($dist-1)/$MOVE_SPEEDVAR
$MOVE_X_step = ($MOVE_END_X-$MOVE_Start_X)/$MOVE_step
$MOVE_Y_step = ($MOVE_END_Y-$MOVE_Start_Y)/$MOVE_step
FOR($MOVE_i=0, $MOVE_i<INT($MOVE_step))
$MOVE_X = $MOVE_X + $MOVE_X_step
$MOVE_Y = $MOVE_Y + $MOVE_Y_step
MOVE(ROUND($MOVE_X,0), ROUND($MOVE_Y,0))
WAITMS(1)
END_CYC
MOVE($MOVE_END_X, $MOVE_END_Y) //Передвинуть окончательно в заданную точку
END_SUB
//1--------------------------------------------------------
if((iskeydown(111)=1) and (iskeydown(97)=1))
LCLICK(-1273,184)
END_IF
//2--------------------------------------------------------
if((iskeydown(111)=1) and (iskeydown(98)=1))
LDOWN($_xmouse,$_ymouse)
WAITMS(50)
mouse_move(-1070,185)
LUP(-1,-1)
END_IF
//3--------------------------------------------------------
if((iskeydown(111)=1) and (iskeydown(99)=1))
LDOWN($_xmouse,$_ymouse)
WAITMS(50)
mouse_move(-884,185)
LUP(-1,-1)
END_IF
//4--------------------------------------------------------
if((iskeydown(111)=1) and (iskeydown(100)=1))
LDOWN($_xmouse,$_ymouse)
mouse_move(1066,26)
LUP(-1,-1)
END_IF
//5--------------------------------------------------------
if((iskeydown(111)=1) and (iskeydown(101)=1))
LDOWN($_xmouse,$_ymouse)
mouse_move(1259,26)
LUP(-1,-1)
END_IF
//6--------------------------------------------------------
if((iskeydown(111)=1) and (iskeydown(102)=1))
LDOWN($_xmouse,$_ymouse)
mouse_move(1456,24)
LUP(-1,-1)
END_IF
//7--------------------------------------------------------
if((iskeydown(111)=1) and (iskeydown(103)=1))
LDOWN($_xmouse,$_ymouse)
mouse_move(1259,26)
LUP(-1,-1)
END_IF
//8--------------------------------------------------------
if((iskeydown(111)=1) and (iskeydown(104)=1))
LDOWN($_xmouse,$_ymouse)
mouse_move(1259,26)
LUP(-1,-1)
END_IF
//9--------------------------------------------------------
if((iskeydown(111)=1) and (iskeydown(105)=1))
LDOWN($_xmouse,$_ymouse)
mouse_move(1259,26)
LUP(-1,-1)
END_IF
WAITMS(20)
Как исправить чтобы коректно работал скрипт(пробовал добавить задержку - еще хуже).
Ну раз решили, что неподходит - значит неподходит именно вам и баста!
1 вариант не подходит(там не картинка а текстовая ссылка и зачем вообще проверять,- не понимаю: я сам навожу курсор на ссылку, мне не нужно распознавать есть там ссылка или нет...).
Если очень по простому еще раз вопрос:Не факт! очень возможно, что вы описываете ВКЛАДКИ, так как принято открывать по ссылкам с браузера именно их и перетаскивают и открывают в новых окнах имеено вкладки!
Вот есть ссылка, так?
LDOWN($_xmouse,$_ymouse)
LUP(..., ...)
с разницей в пол экрана, любой браузер будет реагировать через раз.такое впечатление что перетягивает ссылку, только если я в это время случайно дёрну мышкойгде "держу"? Ведь в скрипте указатель мыши подразумевается над ссылкой :-\
Как исправить чтобы коректно работал скрипт(пробовал добавить задержку - еще хуже).
Что значит хуже? Какие задержки были прописаны и где?
Хуже быть не может. Хуже как раз сейчас - без задержек.
Моментальные LDOWN-LUP большинство программ нормально не обработают. А тем более с расстоянием в экран.
Моментальные LDOWN-LUP большинство программ нормально не обработают. А тем более с расстоянием в экран.
Да с перетаскиванием такое бывает. Нужно плавно двигать курсор по опорным точкам. Для этого потребуется скрипт плавного перемещения. Но я не знаю как он будет работать с отрицательными координатами.Code: (clickermann) [Select]SUB(mouse_move,$MOVE_END_X,$MOVE_END_Y)
$MOVE_SPEED = 3 // множитель скорости
$MOVE_Start_X = $_xmouse
$MOVE_Start_Y = $_ymouse
$MOVE_X = $MOVE_Start_X
$MOVE_Y = $MOVE_Start_Y
$dist = DIST($MOVE_END_X,$MOVE_END_Y,$MOVE_Start_X,$MOVE_Start_Y)
$MOVE_SPEEDVAR = INT((SQRT($dist))/$MOVE_SPEED)
IF($MOVE_SPEEDVAR < 1)
$MOVE_SPEEDVAR = 1
END_IF
$MOVE_step=($dist-1)/$MOVE_SPEEDVAR
$MOVE_X_step = ($MOVE_END_X-$MOVE_Start_X)/$MOVE_step
$MOVE_Y_step = ($MOVE_END_Y-$MOVE_Start_Y)/$MOVE_step
FOR($MOVE_i=0, $MOVE_i<INT($MOVE_step))
$MOVE_X = $MOVE_X + $MOVE_X_step
$MOVE_Y = $MOVE_Y + $MOVE_Y_step
MOVE(ROUND($MOVE_X,0), ROUND($MOVE_Y,0))
WAITMS(1)
END_CYC
MOVE($MOVE_END_X, $MOVE_END_Y) //Передвинуть окончательно в заданную точку
END_SUB
//1--------------------------------------------------------
if((iskeydown(111)=1) and (iskeydown(97)=1))
LCLICK(-1273,184)
END_IF
//2--------------------------------------------------------
if((iskeydown(111)=1) and (iskeydown(98)=1))
LDOWN($_xmouse,$_ymouse)
WAITMS(50)
mouse_move(-1070,185)
LUP(-1,-1)
END_IF
//3--------------------------------------------------------
if((iskeydown(111)=1) and (iskeydown(99)=1))
LDOWN($_xmouse,$_ymouse)
WAITMS(50)
mouse_move(-884,185)
LUP(-1,-1)
END_IF
//4--------------------------------------------------------
if((iskeydown(111)=1) and (iskeydown(100)=1))
LDOWN($_xmouse,$_ymouse)
mouse_move(1066,26)
LUP(-1,-1)
END_IF
//5--------------------------------------------------------
if((iskeydown(111)=1) and (iskeydown(101)=1))
LDOWN($_xmouse,$_ymouse)
mouse_move(1259,26)
LUP(-1,-1)
END_IF
//6--------------------------------------------------------
if((iskeydown(111)=1) and (iskeydown(102)=1))
LDOWN($_xmouse,$_ymouse)
mouse_move(1456,24)
LUP(-1,-1)
END_IF
//7--------------------------------------------------------
if((iskeydown(111)=1) and (iskeydown(103)=1))
LDOWN($_xmouse,$_ymouse)
mouse_move(1259,26)
LUP(-1,-1)
END_IF
//8--------------------------------------------------------
if((iskeydown(111)=1) and (iskeydown(104)=1))
LDOWN($_xmouse,$_ymouse)
mouse_move(1259,26)
LUP(-1,-1)
END_IF
//9--------------------------------------------------------
if((iskeydown(111)=1) and (iskeydown(105)=1))
LDOWN($_xmouse,$_ymouse)
mouse_move(1259,26)
LUP(-1,-1)
END_IF
WAITMS(20)
Нет, там всё понятно что он делает и зачем.^^^<---- ВО ВО ВО! Чётко и изящно ;D ;D ;D
Есть открытые вкладки. Допустим одна основная и 10 рабочих. Вкладки должны быть доступны всегда и их порядок не должен нарушаться.
Поэтому чтобы открыть новую ссылку во вкладке, к примеру 3, просто берёт и перетягивает ссылку на нужную вкладку тем самым обновляя её.
Я думаю не срабатывает из-за отсутствия задержек. При серияхCode: (clickermann) [Select]LDOWN($_xmouse,$_ymouse)
с разницей в пол экрана, любой браузер будет реагировать через раз.
LUP(..., ...)
Мне непонятна фраза[/quote]Quoteтакое впечатление что перетягивает ссылку, только если я в это время случайно дёрну мышкойгде "держу"? Ведь в скрипте указатель мыши подразумевается над ссылкой :-\
IF(iskeydown(111) = 1)
//1--------------------------------------------------------
IF(iskeydown(97) = 1)
LCLICK(-1273,184)
WAITMS(200)
END_IF
//2--------------------------------------------------------
IF(iskeydown(98) = 1)
LDOWN($_xmouse,$_ymouse)
WAITMS(50)
LUP(-1070,185)
WAITMS(50)
END_IF
//3--------------------------------------------------------
IF(iskeydown(99) = 1)
LDOWN($_xmouse,$_ymouse)
WAITMS(50)
LUP(-884,185)
END_IF
//4--------------------------------------------------------
IF(iskeydown(100) = 1)
LDOWN($_xmouse,$_ymouse)
WAITMS(50)
LUP(1066,26)
WAITMS(50)
END_IF
//5--------------------------------------------------------
IF(iskeydown(101) = 1)
LDOWN($_xmouse,$_ymouse)
WAITMS(50)
LUP(1259,26)
WAITMS(50)
END_IF
//6--------------------------------------------------------
IF(iskeydown(102) = 1)
LDOWN($_xmouse,$_ymouse)
WAITMS(50)
LUP(1456,24)
WAITMS(50)
END_IF
//7--------------------------------------------------------
IF(iskeydown(103) = 1)
LDOWN($_xmouse,$_ymouse)
WAITMS(50)
LUP(1259,26)
WAITMS(50)
END_IF
//8--------------------------------------------------------
IF(iskeydown(104) = 1)
LDOWN($_xmouse,$_ymouse)
WAITMS(50)
LUP(1259,26)
WAITMS(50)
END_IF
//9--------------------------------------------------------
IF(iskeydown(105) = 1)
LDOWN($_xmouse,$_ymouse)
WAITMS(50)
LUP(1259,26)
WAITMS(50)
END_IF
ELSE
WAITMS(50)
END_IF
IF(iskeydown(111) = 1)
$num = 0
FOR($i=97, $i < 106)
IF(iskeydown($i) = 1)
$num = $i
END_IF
END_CYC
IF($num > 0)
IF($num = 97)
LCLICK(-1273,184)
ELSE
LDOWN($_xmouse,$_ymouse)
WAITMS(50)
SWITCH($num)
CASE(98)
LUP(-1070,185)
CASE(99)
LUP(-884,185)
CASE(100)
LUP(1066,26)
CASE(101)
LUP(1259,26)
CASE(102)
LUP(1456,24)
CASE(103)
LUP(1259,26)
CASE(104)
LUP(1259,26)
CASE(105)
LUP(1259,26)
END_SWITCH
WAITMS(50)
END_IF
ELSE
WAITMS(50)
END_IF
ELSE
WAITMS(50)
END_IF
И почему на кнопки 101, 103, 104, 105 - одни координаты перетаскивания?так этож вкладки, а не блошивые собаки в конуре, они сами себе место в окне найдут. ;D
А разве есть отрицательные координаты? Мне почему-то казалось, что координаты отсчитывались, как положено, от самого левого экрана, с левого верхнего угла. Получается, если окно заведено за угол/за пределы экрана, то в координаты за пределами тоже можно тыкать (просто подсчитав нужное смещение)?
Если подключишь дополнительный монитор и расположишь его левее основного то бери отрицательные.А, так разговор про моники, а не виртуальные десктопы?
Но как раз с доп монитором слева и есть некоторые проблемы.
А пока монитор один клики за его пределы без привязки идти не будут.
Ух, и тут эта родимая привязка, а что, с привязкой клики за границей пройдут (ну в общем случае, в нормальных окнах)?Пройдут. Там же локальные координаты. Им координаты экрана уже побоку.