Zireael |
Отправлено: 17 Августа, 2021 - 02:02:51
|
Эксперт
Покинул форум
Сообщений всего: 4461
Дата рег-ции: Нояб. 2017
Репутация: 585
|
CODE:#define NULL 0
external(INT, "MapWindowPoints", "MapWindowPoints", "User32.dll");
int x = 200, y = 100; // допустим это координаты картинки
win w = window (-1, "Notepad", -1); // окно блокнота
if(w) // если окно найдено
{
int Points[2];
Points[0] = x; Points[1] = y;
MapWindowPoints(formatwi(w), NULL, address(#Points[0]), 1); // пересчитать координаты в экранные
activate(w); // активировать окно
pause(1000);
mousemove(Points[0], Points[1]); // навести курсор
}
else messagebox("Окно не найдено"); |
|
|
mattallen |
Отправлено: 19 Августа, 2021 - 14:45:55
|
Прохожий
Покинул форум
Сообщений всего: 23
Дата рег-ции: Апр. 2021
Репутация: 0
|
Zireael пишет: Клик мышкой к получению координат никакого отношения не имеет. Ошибка где-то в вашем коде.
Простите, но я использовать ваш код, в котором изменил название окна на своё.
(Добавление)
Zireael пишет: Клик мышкой к получению координат никакого отношения не имеет. Ошибка где-то в вашем коде.
Screen и saveimage наглядно показывают смещение координаты. Хочу обратить внимание, что клик по кнопке не меняет эту глобальную переменную. Меняет клик по форме для ввода текста.
(Добавление)
1.bmp - результат первой итерации скрипта, 2.bmp - второй.
Скрытый текст:Для просмотра Вам необходимо авторизоваться и оставить не менее 200 сообщений
Код использовался:
CODE:
#define NULL 0
external(INT, "MapWindowPoints", "MapWindowPoints", "User32.dll");
int s[3000][3000];
win boxs[1];
boxs[0] = window ("Nox", "Qt5QWindowIcon", window ("Tasya", "Qt5QWindowIcon", -1));
//loop(){
for (int a=0; a<sizearray(boxs); a++)
{
activate(boxs[a]); // активировать окно
pause(2000);
mouseleft(262,575,boxs[a]); //click to insert captcha
screen (#s[0][0], 0, 0, 565, 964, boxs[a]);
saveimage(#s[0][0], "E:\Downloads\kibor_set\1.bmp");
}
//} //loop
function mouseleft(int x, int y, win box)
{
int Points[2];
Points[0] = x; Points[1] = y;
MapWindowPoints(formatwi(box), NULL, address(#Points[0]), 1); // пересчитать координаты в экранные
mousemove(Points[0], Points[1]); // навести курсор
mouse(LEFT, Points[0], Points[1]);
}
|
|
|
|