Zireael |
Отправлено: 29 Июня, 2019 - 17:41:46
|
Эксперт
Покинул форум
Сообщений всего: 4464
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: 1. Можно ли по координатам окна сделать его активным
Не понятно что имеется ввиду. Если надо узнать какое окно находится в координатах, то getwindow. Дальше уже выполнить что требуется.
Цитата: 2. Как получить указатель на окно если оно имеет класс Chrome_WidgetWin_1
Можно найти по части имени, если известно. |
|
|
Budni |
Отправлено: 30 Июня, 2019 - 04:43:07
|
Специалист
Покинул форум
Сообщений всего: 419
Дата рег-ции: Март 2018
Репутация: 2
|
Zireael пишет: Можно найти по части имени, если известно. Каким образом? Справку всю перерыл не нашел как (
CODE:window("название окна", "класс окна", win wind) индифицирует по имени, классу контрола и указателю на верхнее окно.
window("название окна", "класс окна", лев_верх_X, лев_верх_Y, шир, выс, win wind)
Даже не примере блокнота:
В указателе блокнота беру > window ("имя окна — Блокнот", "Notepad", -1)
Оставляю часть имени и
window ("Блокнот"); // так не находит |
|
|
Zireael |
Отправлено: 30 Июня, 2019 - 09:39:42
|
Эксперт
Покинул форум
Сообщений всего: 4464
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: window ("Блокнот" ); // так не находит
CODE:external(INT, "FindWindowEx", "FindWindowExA", "user32.dll" );
external(INT, "GetWindowText", "GetWindowTextA", "user32.dll" );
string name="Блокнот"; // имя окна или часть имени
if(find_w(#name)) // вызов функции, передаём указатель на переменную с частью имени
{
messagebox(name); // полное имя окна
// тут получаем указатель зная полное имя окна
}
else messagebox("Окно не найдено");
function find_w(string #name_window)
{
char c[999];
int handle=FindWindowEx(0, 0, 0, 0);
string P;
while(handle!=0)
{
GetWindowText (handle, address (#c[0]), sizearray(c));
if(regexsearch(1, #P, format(#c[0]), name_window)){name_window=format(#c[0]); return 1;}
handle=FindWindowEx(0, handle, 0, 0);
}
return 0;
} |
|
|
007wan |
Отправлено: 14 Августа, 2019 - 13:53:19
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Как найти все изображения с жетыми домами, если при уменьшении мастаба они выглядят почти как одинаковые. Это эффект игры - Уклон карты, а при уклоне и меняются пиксели игры и проекция домов.
Изобраение:(для просмотра ссылки Вам необходимо авторизоваться)
Код, который использовал:
Код (Отобразить)CODE:int Image[9][10]; // массив для картинки 10*7
loadimage (#Image[0][0], "C:\Users\Home\Desktop\МОЁ\Kibor\Image_8.bmp"); //загрузить картинку
int coord[4]={0, 0, 1902, 1080} // область поиска
int r=20; // разбежность
int accuracy=80; // точность поиска
int posX[99], posY[99]; // массивы для координат найденных картинок
int count=findimage(sizearray(posX), #Image[0][0], -1, #posX[0], #posY[0], coord[0], coord[1], coord[2], coord[3],r,r,r,r,r,r, accuracy, 1, -1);
messagebox("Найдено картинок: "+format(count));
for(int i=0; i<count; i++)
{
mousemove(coord[0]+posX[i], coord[1]+posY[i]);
textout(i, coord[0]+posX[i], coord[1]+posY[i], format(i), 1);
sleep(500);
}
sleep(1000);
Суть в том, что надо, что бы он искал все желтые дома. Дома отдельно искать не получится, иначе другая постройка может быть загорожена другими. Альтернатива искать желтые иконки, но при уменьшении масштаба они почти все одинаковые. |
|
|
007wan |
Отправлено: 14 Августа, 2019 - 14:40:36
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Zireael , Zireael пишет: а потом под ними проверять какая крыша, с помощью findheapcolor. Есть небольшая вероятность, что это здание будет закрыто домами по выше и по шире и ничего не получится узнать
(Добавление)
007wan пишет: Zireael , Zireael пишет: а потом под ними проверять какая крыша, с помощью findheapcolor. Есть небольшая вероятность, что это здание будет закрыто домами по выше и по шире и ничего не получится узнать , кроме видимость значка - будет поверх
(Добавление)
Zireael пишет: По одному скрину сложно что-то сказать.
Скорее всего надо искать жёлтые иконки, а потом под ними проверять какая крыша, с помощью findheapcolor. А можно пожалуйста пример. Хочу посмотреть как будет выглядить конструкция кода в последовательности без отклонения параметров. вета пикселей я сам выберу |
|
|
007wan |
Отправлено: 14 Августа, 2019 - 15:47:53
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Kibor , Kibor пишет: А если крыша перекрыта, то как тогда с ней работает пользователь? Крыша может быть закрыта или все здание целиком или частично, но во всех случаях иконки - поверх все зданий и щелей)))
(Добавление)
Kibor пишет: Ну они не почти, а полностью одинаковы. Нет. если искать совпадение по 100 разбежности, то 1 найдет, а так 70/80 почти все
(Добавление)
Я думаю находить такие картинки с помощью распознавания текста : ))
(Добавление)
Пока надо бы попробовать |
|
|
|