1. lahesis - 26 Августа, 2021 - 07:53:47 - перейти к сообщению
Подскажите пожалуйста, как подружить данную программу с браузером? Есть два окна браузера хром в которых нужно производить одинаковые действия(клики мыши) в режиме реального времени. Нашел вариант как это сделать на примере пейнта. ТАм все ок(рисует одновременно в двух копиях). А вот с хромом не получается:нет имени контрола.
2. Ilya001 - 26 Августа, 2021 - 08:11:48 - перейти к сообщению
CODE:
win w1, w2, w3;
int x, y;
textout( 0, 10, 50, "Нажми F над 1 окном", 1);
while(getkeystate(70)==0) sleep(20);
while(getkeystate(70)==1) sleep(20);
beep(600, 300);
getmouse(x, y);
w1=getwindow(1, x, y);
textout( 0, 10, 50, "Нажми F над 2 окном", 1);
while(getkeystate(70)==0) sleep(20);
while(getkeystate(70)==1) sleep(20);
beep(500, 300);
getmouse(x, y);
w2=getwindow(1, x, y);
textout( 0, 10, 50, "Нажми F над 3 окном", 1);
while(getkeystate(70)==0) sleep(20);
while(getkeystate(70)==1) sleep(20);
beep(400, 300);
getmouse(x, y);
w3=getwindow(1, x, y);
loop() {
if(getkeystate(1)==1) {
getmouse(x, y, w1); sleep(60);
sendmouse(LEFT, x, y, w2);
sendmouse(LEFT, x, y, w3);}
}
int x, y;
textout( 0, 10, 50, "Нажми F над 1 окном", 1);
while(getkeystate(70)==0) sleep(20);
while(getkeystate(70)==1) sleep(20);
beep(600, 300);
getmouse(x, y);
w1=getwindow(1, x, y);
textout( 0, 10, 50, "Нажми F над 2 окном", 1);
while(getkeystate(70)==0) sleep(20);
while(getkeystate(70)==1) sleep(20);
beep(500, 300);
getmouse(x, y);
w2=getwindow(1, x, y);
textout( 0, 10, 50, "Нажми F над 3 окном", 1);
while(getkeystate(70)==0) sleep(20);
while(getkeystate(70)==1) sleep(20);
beep(400, 300);
getmouse(x, y);
w3=getwindow(1, x, y);
loop() {
if(getkeystate(1)==1) {
getmouse(x, y, w1); sleep(60);
sendmouse(LEFT, x, y, w2);
sendmouse(LEFT, x, y, w3);}
}
3. lahesis - 26 Августа, 2021 - 08:26:02 - перейти к сообщению
Ilya001 , спасибо большое за помощь, но я, к сожалению, не имею достаточных навыков чтобы применить данный код к решению своего вопроса((
Вот что есть у меня и оно работает:
Вот что есть у меня и оно работает:
CODE:
win w1=window (-1, "Afx:00000000FF270000:8", window ("Aacuiyiiue - Paint", "MSPaintApp", 2, 0, -1, -1, -1));
win w2=window (-1, "Afx:00000000FF270000:8", window ("Aacuiyiiue - Paint", "MSPaintApp", 785, 297, -1, -1, -1));
int K=0, X, Y;
enabletimer(0);
loop()
{
if (getkeystate(1)==1)
{
K=1;
while(getkeystate(1)==1)sleep(1);
K=2;
while(K==2)sleep(1);
}
sleep(1);
}
CREATE_TIMER(0, 5)
{
getmouse(X, Y);
X=X-w1.leftclient;
Y=Y-w1.topclient;
if (K==0)sendmousemove(X, Y, w2);
if (K==1)sendmousedown(LEFT, X, Y, w2);
if (K==2){sendmouseup(LEFT, X, Y, w2); K=0;}
}
win w2=window (-1, "Afx:00000000FF270000:8", window ("Aacuiyiiue - Paint", "MSPaintApp", 785, 297, -1, -1, -1));
int K=0, X, Y;
enabletimer(0);
loop()
{
if (getkeystate(1)==1)
{
K=1;
while(getkeystate(1)==1)sleep(1);
K=2;
while(K==2)sleep(1);
}
sleep(1);
}
CREATE_TIMER(0, 5)
{
getmouse(X, Y);
X=X-w1.leftclient;
Y=Y-w1.topclient;
if (K==0)sendmousemove(X, Y, w2);
if (K==1)sendmousedown(LEFT, X, Y, w2);
if (K==2){sendmouseup(LEFT, X, Y, w2); K=0;}
}
4. Ilya001 - 26 Августа, 2021 - 08:50:38 - перейти к сообщению
Ilya001 пишет:
CODE:
win w1, w2, w3;
int x, y;
textout( 0, 10, 50, "Нажми F над 1 окном", 1);
while(getkeystate(70)==0) sleep(20);
while(getkeystate(70)==1) sleep(20);
beep(600, 300);
getmouse(x, y);
w1=getwindow(1, x, y);
textout( 0, 10, 50, "Нажми F над 2 окном", 1);
while(getkeystate(70)==0) sleep(20);
while(getkeystate(70)==1) sleep(20);
beep(500, 300);
getmouse(x, y);
w2=getwindow(1, x, y);
textout( 0, 10, 50, "Нажми F над 3 окном", 1);
while(getkeystate(70)==0) sleep(20);
while(getkeystate(70)==1) sleep(20);
beep(400, 300);
getmouse(x, y);
w3=getwindow(1, x, y);
loop() {
if(getkeystate(1)==1) {
getmouse(x, y, w1); sleep(60);
sendmouse(LEFT, x, y, w2);
sendmouse(LEFT, x, y, w3);}
}
int x, y;
textout( 0, 10, 50, "Нажми F над 1 окном", 1);
while(getkeystate(70)==0) sleep(20);
while(getkeystate(70)==1) sleep(20);
beep(600, 300);
getmouse(x, y);
w1=getwindow(1, x, y);
textout( 0, 10, 50, "Нажми F над 2 окном", 1);
while(getkeystate(70)==0) sleep(20);
while(getkeystate(70)==1) sleep(20);
beep(500, 300);
getmouse(x, y);
w2=getwindow(1, x, y);
textout( 0, 10, 50, "Нажми F над 3 окном", 1);
while(getkeystate(70)==0) sleep(20);
while(getkeystate(70)==1) sleep(20);
beep(400, 300);
getmouse(x, y);
w3=getwindow(1, x, y);
loop() {
if(getkeystate(1)==1) {
getmouse(x, y, w1); sleep(60);
sendmouse(LEFT, x, y, w2);
sendmouse(LEFT, x, y, w3);}
}
Вы запустите этот код на киборе, для хрома подойдёт
5. lahesis - 26 Августа, 2021 - 09:42:35 - перейти к сообщению
Ilya001 , спасибо дошло!))Но вот проблема. В окне, где выполняются клики иногда )через раз) происходит зажатие после клика. Тестил на пейнте онлайн и вместо того чтобы ставить точку и рядом другую рисуется линия. Это не критично, но если можно то исправить)И скажите данный код подойдет под любой браузер?
6. Ilya001 - 26 Августа, 2021 - 10:12:32 - перейти к сообщению
lahesis пишет:
Ilya001 , спасибо дошло!))Но вот проблема. В окне, где выполняются клики иногда )через раз) происходит зажатие после клика. Тестил на пейнте онлайн и вместо того чтобы ставить точку и рядом другую рисуется линия. Это не критично, но если можно то исправить)И скажите данный код подойдет под любой браузер?
Думаю, да подойдет. Можно сделать между командами sendmouse не большую паузу, тогда не будет зажатие.
CODE:
sendmouse(LEFT, x, y, w2);
sleep(20);
sendmouse(LEFT, x, y, w3);}
sleep(20);
sendmouse(LEFT, x, y, w3);}