PElllETO |
Отправлено: 14 Июня, 2018 - 02:35:43
|
Наблюдатель
Покинул форум
Сообщений всего: 28
Дата рег-ции: Май 2018
Репутация: 1
|
Мудохаюсь помалеху))
короче, фоновый первый клик в трее на иконку VPN получился,
вставил в Старт в Визуальном редакторе >>>
●● window ("Пользовательская область уведомлений", "ToolbarWindow32", window (-1, "Shell_TrayWnd", -1)) ●● фон через Указатель - РАБОТАЕТ, курсор свободен!
дальше открывается окно VPN, оно нестандартное и через Ctrl+Shift+S в шпионе только окно >>>
●● window ("Windscribe", "Qt5QWindowIcon", -1) ●● определяет, а КОНТРОЛ пустой.
Сохраненный скрин из этого окна knopka_ON_vpn.bmp т.е. кнопка вкл/выкл не находит и не нажимает
Как и что прописать в скрипте или в Визуальном редакторе, чтобы оно далее также в фоне еще в окне VPN пару раз кликнуло?
Вот код фонового клика в трее:
CODE:win w_KIB;
int ex_KIB, ey_KIB, sum_KIB, x_KIB, y_KIB;
int Image_0_KIB[6][8];
int Image_1_KIB[13][12];
start_();
findimage_(#Image_0_KIB[0][0], 0, 0, 0, 1, 0, 0, 0, 0, 50, 100, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB);
findimage_(#Image_1_KIB[0][0], 1000, 0, 0, 1, 0, 0, 0, -1, 0, 100, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB);
key_(18, 2, 1000, 0);
key_(115, 1, 0, 0);
key_(18, 3, 0, 0);
function start_()
{
load_image_();
pause(1000);
w_KIB=window ("Пользовательская область уведомлений", "ToolbarWindow32", window (-1, "Shell_TrayWnd", -1));
ex_KIB=w_KIB.widthclient; ey_KIB=w_KIB.heightclient;
}
function key_(int k, int m, int p1, int p2)
{
pause(p1);
if (m==1) sendkey(k, w_KIB);
if (m==2) sendkeydown(k, w_KIB);
if (m==3) sendkeyup(k, w_KIB);
pause(p2);
}
function findimage_(int #Image, int t, int p1, int p2, int m, int xm, int ym, int p3, int fon, int r, int p, int k, int xs, int ys, int xf, int yf, int#sum, int#x, int#y)
{
int timKIB, sumKIB, xKIB, yKIB;
pause(p1);
sumKIB=0;
if (t!=1) timKIB=gettime();
a: if (r==0 && p==100){sum=findimage(k, #Image[0][0], fon, #x[0], #y[0], xs, ys, xf, yf, w_KIB); if (sum>0) goto e;}
else {sum=findimage(k, #Image[0][0], fon, #x[0], #y[0], xs, ys, xf, yf, r, r, r, r, r, r, p, 1, w_KIB); if (sum>0) goto e;}
if (t==0) return 0;
if (gettime()-timKIB<t){sleep(20); goto a;}
return 0;
e: sumKIB=sum; xKIB=x[0]; yKIB=y[0];
pause(p2);
if (m==1){sendmouse(LEFT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==2){sendmouse(MIDDLE, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==3){sendmouse(RIGHT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==4){sendmousedown(LEFT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==5){sendmousedown(MIDDLE, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==6){sendmousedown(RIGHT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==7){sendmouseup(LEFT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==8){sendmouseup(MIDDLE, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==9){sendmouseup(RIGHT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==10){sendmousemove(xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
return sumKIB;
}
function load_image_()
{
loadimage (#Image_0_KIB[0][0], "C:\bot\VPN_trey.bmp");
loadimage (#Image_1_KIB[0][0], "C:\bot\knopka_ON_vpn.bmp");
} (Отредактировано автором: 14 Июня, 2018 - 02:43:26) |
|
|
PElllETO |
Отправлено: 19 Августа, 2018 - 02:33:13
|
Наблюдатель
Покинул форум
Сообщений всего: 28
Дата рег-ции: Май 2018
Репутация: 1
|
НЕ РАБОТАЕТ в фоне ОКНА блокнота хоть ты тресни
CODE:int size_key_char_KIB=-1;
win w_KIB;
int ex_KIB, ey_KIB, sum_KIB, x_KIB, y_KIB;
int Image_0_KIB[20][8];
start_();
m_KIB1: findimage_(#Image_0_KIB[0][0], 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, -1, -1, -1, 0, 100, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB);
key_(13, 1, "", 0, 0, 4444); goto m_KIB1;
// тут клавиша Enter под кодом 13 а не 0 как вначале написал
function start_()
{
w_KIB=window ("Безымянный — Блокнот");
load_image_();
pause(1000);
int x, y;
getmouse(x, y);
w_KIB=getwindow(0, x, y);
ex_KIB=w_KIB.widthclient; ey_KIB=w_KIB.heightclient;
}
function key_(int k, int m, string text, int pc, int p1, int p2)
{
pause(p1);
if (m==-1)
{
if (size_key_char_KIB==-1)
{
size_key_char_KIB=100;
new char key_char_KIB[size_key_char_KIB+1];
}
int size_key=size(text);
if (size_key_char_KIB<size_key)
{
delete key_char_KIB;
size_key_char_KIB=size_key;
new char key_char_KIB[size_key_char_KIB+1];
}
strcpy(#key_char_KIB[0], text);
for (int n=0; n<size_key; n++){sendkey(key_char_KIB[n], w_KIB); sleep(pc);}
}
else
{
if (m==1) sendkey(k, w_KIB);
if (m==2) sendkey(k, w_KIB);
if (m==3) sendkey(k, w_KIB);
}
pause(p2);
}
function findimage_(int #Image, int t, int p1, int p2, int m, int xm, int ym, int mov_m, int mov_x, int mov_y, int p3, int wait, int cycle, int fon, int r, int p, int k, int xs, int ys, int xf, int yf, int#sum, int#x, int#y)
{
int timKIB, sumKIB, xKIB, yKIB, tx, ty, tcycle=0;
sty: pause(p1);
sumKIB=0;
if (t!=0) timKIB=gettime();
a: if (r==0 && p==100){sum=findimage(k, #Image[0][0], fon, #x[0], #y[0], xs, ys, xf, yf, w_KIB); if (sum>0) goto e;}
else {sum=findimage(k, #Image[0][0], fon, #x[0], #y[0], xs, ys, xf, yf, r, r, r, r, r, r, p, 1, w_KIB); if (sum>0) goto e;}
if (t==0) return 0;
if (gettime()-timKIB<t){sleep(20); goto a;}
return 0;
e: sumKIB=sum; xKIB=x[0]; yKIB=y[0];
pause(p2);
if (m==1){sendmouse(LEFT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); goto hy;}
if (m==2){sendmouse(MIDDLE, xs+xKIB+xm, ys+yKIB+ym, w_KIB); goto hy;}
if (m==3){sendmouse(RIGHT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); goto hy;}
if (m==4){sendmousedown(LEFT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); goto hy;}
if (m==5){sendmousedown(MIDDLE, xs+xKIB+xm, ys+yKIB+ym, w_KIB); goto hy;}
if (m==6){sendmousedown(RIGHT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); goto hy;}
if (m==7){sendmouseup(LEFT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); goto hy;}
if (m==8){sendmouseup(MIDDLE, xs+xKIB+xm, ys+yKIB+ym, w_KIB); goto hy;}
if (m==9){sendmouseup(RIGHT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); goto hy;}
if (m==10){sendmousedbl(LEFT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); goto hy;}
if (m==11){sendmousedbl(MIDDLE, xs+xKIB+xm, ys+yKIB+ym, w_KIB); goto hy;}
if (m==12){sendmousedbl(RIGHT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); goto hy;}
if (m==13)sendmousemove(xs+xKIB+xm, ys+yKIB+ym, w_KIB);
hy: if (mov_m==1)sendmousemove(mov_x, mov_y, w_KIB);
if (m>0 && m<14)pause(p3);
if (wait!=-1)
{
for (int ttim=gettime(); gettime()-ttim<wait; sleep(20))
{
if (r==0 && p==100){if (findimage(1, #Image[0][0], fon, #x[0], #y[0], xs, ys, xf, yf, w_KIB)==0)return sumKIB;}
else {if (findimage(1, #Image[0][0], fon, #x[0], #y[0], xs, ys, xf, yf, r, r, r, r, r, r, p, 1, w_KIB)==0)return sumKIB;}
}
if (tcycle<cycle){tcycle++; goto sty;}
return 0;
}
return sumKIB;
}
function load_image_()
{
loadimage (#Image_0_KIB[0][0], "C:\COOL!\KIBOR\Image\Image_5.bmp");
}
Через контрол работает, а через окно вообще не работает, уже все просмотрел, всю логику - ну не работает ска.
Уже и в функцию СТАРТ дописал w_KIB=window ("Безымянный — Блокнот" - все равно вообще не ищет картинку,
хотя через контрол и дописывать никуда ничего не требует, так в фоне работает,
ну и без фона тоже работает мышью напрямую тыкает.
Только мне нужно чтобы в ОКНЕ работал фон факиншит.
Потому как в игре нет контролов а есть ОКНО.
Где в коде ошибка, куда что еще дописать чтобы через ОКНО работал в фоне?
вот снимок ОКНА и КОНТРОЛА:
[img](для просмотра ссылки Вам необходимо авторизоваться) /img]
Запускаю скрипт НАД ОКНОМ Блокнота
(Добавление)
Код простой, т.е. ищет по сохраненному скрину место в блокноте, тыкает на это место в фоне,
затем нажимает Enter, ждет 4444 мс - и по новой цикл.
Так вот в КОНТРОЛЕ ничего даже дописывать не требуется, все само находит, сворачиваю окно, занимаюсь делами, после востанавливаю окно Блокнота - и там все работает т.е. уже допустим четыре страницы скрипт прокрутил через Enter,
единственное запуск скрипта над окном Блокнота.
Но через ОКНО не работает фон вообще!
хоть дописывай указывай на окно, хоть не указывай.
(Добавление)
w_KIB=getwindow(0, x, y); - вот строка ОКНА в функции СТАРТ,
w_KIB=getwindow(1, x, y); - а вот строка КОНТРОЛА
И это единственное отличие во всем коде,
однако КОНТРОЛ работает,
а ОКНО не работает.
(Добавление)
Игра сейчас, которую планирую заботить, это Фантастическая рыбалка,
так вот там ни КОНТРОЛ не работает
ни ОКНО.
Только напрямую тыкать без фона.
Это что значит вообще невозможно в ней заставить в фоне работать?(Отредактировано автором: 19 Августа, 2018 - 02:52:07) |
|
|
PElllETO |
Отправлено: 19 Августа, 2018 - 08:42:07
|
Наблюдатель
Покинул форум
Сообщений всего: 28
Дата рег-ции: Май 2018
Репутация: 1
|
Dantes3000 пишет: Возможно в игре защита, если и без фона не кликает, то точно защита.
Не важно где искать, в контроле или окне. Приоритетнее с контролом работать, так как окна на разных системах имеют разный размер.
Так почему в Блокноте не работает фон ОКНО, тут как бы защиты никакой нет,
я же вроде бы правильно в функции СТАРТ указал название окна блокнота,
или еще размер окна и положение надо где-то прописывать, чтобы работало?
Я же над окном Блокнота запускаю скрипт.(Отредактировано автором: 19 Августа, 2018 - 08:51:19) |
|
|
PElllETO |
Отправлено: 19 Августа, 2018 - 10:45:40
|
Наблюдатель
Покинул форум
Сообщений всего: 28
Дата рег-ции: Май 2018
Репутация: 1
|
Kibor пишет: PElllETO пишет: Так почему в Блокноте не работает фон ОКНО
Фоновый режим работает не там где захочется, а там где надо.
В блокноте окно это сам диалог, а контрол это EDIT, элемент, в котором собственно и печатает.
Поэтому сообщения надо слать эдиту, а не диалогу.
Это относится ко всему.
Сообщения надо слать элементу, который их перехватывает.
Так что добавить конкретно в код, который я выложил, чтобы в через ОКНО фон работал,
мне логику лишь понять, отличие.
<<< Я так понял конкретно в Блокноте фон работает только через КОНРОЛ, да и хрен с ним с блокнотом.
Почему в игре Фантастическая рыбалка ни контрол ни окно в фоне не работают,
там защита стоит или что?
Если там защита, то можно ли ее обойти?
(Добавление)
Делал с игрой все также как с Блокнотом КОНТРОЛОМ -
т.е. запускал скрипт над окном игры --- НЕ РАБОТАЕТ ни с контролом ни с окном
Только напрямую клики мышью.
Не находит изображение с контролом и окном
(Добавление)
Вот снимок окна игры, только ОКНО а КОНТРОЛА нет:
[img]https://i.imgur.com/XLPCeEZ.png[/img]
(Добавление)
[img](для просмотра ссылки Вам необходимо авторизоваться) /img](Отредактировано автором: 19 Августа, 2018 - 11:01:30) |
|
|
|