Прохожий
Покинул форум
Сообщений всего: 4
Дата рег-ции: Май 2020
Репутация: 0
|
Добрый день!
Создаю бота для приложения на телефоне с управлением посредством TeamViewer.
Пробую такой код:
CODE:win w=window ("samsung_SM-G965F_RF8K20VST5W - TeamViewer", "TV_CClientWindowClass", -1);
sendmouse (LEFT, 335, 353, w);
sendmousetransfer (LEFT, 300, 800, 300, 300, 0.02, w);
Ни sendmouse ни sendmousetransfer не работают. Написано, вроде как, всё правильно, потому что если заменить контрол на контрол Paint, то точка и линия рисуются.
Однако, если создать скрипт через визуальный редактор путём единственного перехода от стартового блока к блоку клика мышью, поставить галочку на фоновом режиме с привязкой к контролу, то получится такой код:
Спойлер (Отобразить)CODE:win w_KIB;
int ex_KIB, ey_KIB, sum_KIB, x_KIB, y_KIB;
start_();
mouse_(0, 1, 335, 353, 0);
function start_()
{
pause(1000);
int x, y;
getmouse(x, y);
w_KIB=getwindow(1, x, y);
ex_KIB=w_KIB.widthclient; ey_KIB=w_KIB.heightclient;
}
function mouse_(int p1, int m, int xm, int ym, int p2)
{
pause(p1);
if (m==1) sendmouse(LEFT, xm, ym, w_KIB);
if (m==2) sendmouse(MIDDLE, xm, ym, w_KIB);
if (m==3) sendmouse(RIGHT, xm, ym, w_KIB);
if (m==4) sendmousedown(LEFT, xm, ym, w_KIB);
if (m==5) sendmousedown(MIDDLE, xm, ym, w_KIB);
if (m==6) sendmousedown(RIGHT, xm, ym, w_KIB);
if (m==7) sendmouseup(LEFT, xm, ym, w_KIB);
if (m==8) sendmouseup(MIDDLE, xm, ym, w_KIB);
if (m==9) sendmouseup(RIGHT, xm, ym, w_KIB);
if (m==10) sendmousedbl(LEFT, xm, ym, w_KIB);
if (m==11) sendmousedbl(MIDDLE, xm, ym, w_KIB);
if (m==12) sendmousedbl(RIGHT, xm, ym, w_KIB);
if (m==13) sendmousemove(xm, ym, w_KIB);
pause(p2);
}
И если такой код запустить поверх окна TeamViewer, то всё прекрасно работает. И всё бы ничего, но для бота мне нужна функция mousetransfer, которой в визуальном редакторе нет (вроде я не слепой ), поэтому приходится писать самому в блоке кода, но не могу понять почему самописная функция прекрасно работает в Paint и не работает в TeamViewer.
В чём тут ошибка, подскажите пожалуйста, окно совершенно точно воспринимает фоновые команды но почему-то только те, что написаны в визуальном редакторе. |