Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (1): [1]   

> Описание: некорректно работает mousetransfer
amp
Отправлено: 24 Мая, 2019 - 15:14:38
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 20
Дата рег-ции: Май 2019  
Репутация: 0




Доброго времени, такой незамысловатый кусочек кода для движения курсора мыши по спирали. Работает без нареканий, но когда пытаюсь завести параметр 7 и 8 в функцию mousetransfer для активации и привязки к определенному окну, возникает ошибка. Как быть?

CODE:
int x1=400, y1=300, x2, y2, a=1.4, r1=0, phi=0;;
win w_KIB;
int ex_KIB, ey_KIB, sum_KIB, x_KIB, y_KIB;
int sx_KIB, sy_KIB;

start_();

m_KIB0: if(r1<23)
{
x2=x1+((a/6.28)*phi*cos(phi));
y2=y1+((a/6.28)*phi*sin(phi));
mousetransfer(-1, x1, y1, x2, y2, 10, 1);
x1=x2;
y1=y2;
r1++;
phi=phi+57.2956;
}
goto m_KIB0;

function start_()
{
pause(1000);
int x, y;
getmouse(x, y);
w_KIB=getwindow(0, x, y);
ex_KIB=w_KIB.widthclient; ey_KIB=w_KIB.heightclient;
sx_KIB=w_KIB.leftclient; sy_KIB=w_KIB.topclient;
}
 
 Top
Zireael
Отправлено: 24 Мая, 2019 - 15:21:45
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4467
Дата рег-ции: Нояб. 2017  
Репутация: 585




mousetransfer принимает 6 или 8 параметров, у вас 7.
 Цитата:
mousetransfer(LEFT, стартX, стартY, финишX, финишY, 0.02);
Первый параметр - какая кнопка. Может быть: LEFT, MIDDLE, RIGHT и -1. Если -1 , перемещать мышь не нажимая кнопки с заданной скоростью.
Второй и третий - экранные координаты зажатия кнопки и захвата.
Четвертый и пятый - экранные координаты куда тащить и где отпустить кнопку.
Шестой - дробное число. Скорость перетаскивания.

Так же возмажно вызвать эу функцию с 8 параметрами:
mousetransfer(LEFT, стартX, стартY, финишX, финишY, 0.02, 1, win wind);
Седьмой параметр - если 1 активировать окно, если 0 не активировать.
Восьмой - указатель на окно. Все координаты клиентские относительно окна wind.
Если восьмой параметр 0 или не найдено окно - экранные координаты.

 Цитата:
a=1.4

Переменная объявлена int, дробное число не запишется.
 
 Top
Kibor
Отправлено: 24 Мая, 2019 - 15:24:22
Post Id



Администратор
Эксперт


Просматривает форум
Сообщений всего: 8224
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




Используйте enablerealmouse
mousetransfer устарела.
 
 Top
amp
Отправлено: 24 Мая, 2019 - 15:39:05
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 20
Дата рег-ции: Май 2019  
Репутация: 0




 Zireael пишет:
mousetransfer принимает 6 или 8 параметров, у вас 7.

я по разному пробовал) ни с 7 ни с 8 не работает, про переменную спасибо - не заметил
(Добавление)
 Kibor пишет:
Используйте enablerealmouse
mousetransfer устарела.


Не могу найти описание функции, увидел в примерах.

if(r1<23)
{
x2=x1+((a/6.28)*phi*cos(phi));
y2=y1+((a/6.28)*phi*sin(phi));
enablerealmouse(1,0,0,0)
mousemove(x1,y1);
mousemove(x2,y2);
pause(0);
mouse(-1);
x1=x2;
y1=y2;
r1++;
phi=phi+57.2956;
}

Насколько я понимаю, конкретно для моего случая должно быть как то так. Но как привязаться к окну я все равно не понимаю. Координаты пользовательские. Как сделать относительно окна.
 
 Top
Kibor
Отправлено: 24 Мая, 2019 - 15:45:46
Post Id



Администратор
Эксперт


Просматривает форум
Сообщений всего: 8224
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




CODE:
win w=window ("Безымянный — Блокнот", "Notepad", -1);
mousetransfer(LEFT, 10, 10, 125, 100, 0.02, 1, w);

работает
(Добавление)
 amp пишет:
mouse(-1);

?
(Добавление)
CODE:
win w=window ("Безымянный — Блокнот", "Notepad", -1);
mousedown(LEFT, 10,10, 0, w);
enablerealmouse(1,0,0,0);
mouseup(LEFT, 125,100, 0, w);
 
 Top
amp
Отправлено: 24 Мая, 2019 - 15:51:11
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 20
Дата рег-ции: Май 2019  
Репутация: 0




 Kibor пишет:
работает

И в правду, мой косяк, что то с синтаксисом намудрил, спасибо!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by