Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (2): [1] 2 »   

> Описание: Обновление информации о окне по указателю win
Kibor
Отправлено: 19 Апреля, 2019 - 21:46:47
Post Id



Администратор
Эксперт


Просматривает форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




setwindowparam позволяет обновить структуру win
wind.width = ширина окна
wind.height = высота окна
wind.left = позиция по x относительно левого края экрана
wind.top = позиция по y относительно левого края экрана
wind.widthclient = ширина клиетской части окна (без системного меню и рамки)
wind.heightclient = высота клиетской части окна (без системного меню и рамки)
wind.leftclient = позиция клиетской части по x относительно левого края экрана
wind.topclient = позиция клиетской части по y относительно левого края экрана
wind.name = название окна
wind.class = название класса

==============

Может использоваться для заполнение данной структуры если указатель win получен с помощью функции formatiw и не была заполнена ранее.

==============

Синтаксис:
CODE:
setwindowparam(wind);

Параметром принимает указатель win

Возвращает 1 если окно есть.
0 если его нет.

==============

Пример:
CODE:
external(INT, "FindWindowEx", "FindWindowExA", "user32.dll");

int handle=FindWindowEx(0, 0, "Notepad", "Безымянный — Блокнот");
win w=formatiw(handle);
setwindowparam(w);
messagebox (w.leftclient);
 
 Top
007wan
Отправлено: 20 Апреля, 2019 - 10:21:19
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017  
Репутация: -2




Не понимаю. Для чего это и в каких случаях применяется?
 
 Top
Kibor
Отправлено: 20 Апреля, 2019 - 10:50:31
Post Id



Администратор
Эксперт


Просматривает форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




 007wan пишет:
Не понимаю. Для чего это и в каких случаях применяется?

Для разных.
К примеру для этого:
CODE:
external(INT, "FindWindowEx", "FindWindowExA", "user32.dll");

int handle=FindWindowEx(0, 0, "Notepad", "Безымянный — Блокнот");
win w=formatiw(handle);
setwindowparam(w);
w.leftclient=155;
moveclient (w);


Без setwindowparam надо для этого использовать winapi

//////////////////////////

Или к примеру для определения или окно еще существует, без получения на него указателя. Так как может быть что например имя окна изменилось и получить указатель на него невозможно по старым параметрам, а параметры новые или наличие окна надо узнать.
 
 Top
007wan
Отправлено: 20 Апреля, 2019 - 11:00:08
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017  
Репутация: -2




Kibor , О, кажется я понял
 Kibor пишет:
для определения: окно еще существует, без получения на него указателя. Так как может быть что например имя окна изменилось и получить указатель на него невозможно по старым параметрам.
Я раньше пытался сделать, что бы изначальное имя окна, например, "Диалог" менялось при какой-то функции и получалось, что имя окна "Диалог (34%)" допустим и проценты менялись постоянно, но получить указатель не удавалось и поэтому были проблемы.
(Добавление)
Т.е если мы взяли окно указателем и изменили имя, то указатель больше окно не найден, но с этой функцией он найдет старое окно вроде бы...
(Добавление)
Спасибо за функцию. то, что нужно!)
 
 Top
Skycrew
Отправлено: 21 Апреля, 2019 - 11:47:14
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 123
Дата рег-ции: Июль 2014  
Репутация: 0




Прикольная функция, спасибо!
 
 Top
007wan
Отправлено: 17 Мая, 2019 - 13:38:21
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017  
Репутация: -2




 Kibor пишет:
setwindowparam
Всё же не понимаю когда ее использовать? сразу? почему тогда не window?
 
 Top
Kibor
Отправлено: 17 Мая, 2019 - 13:41:27
Post Id



Администратор
Эксперт


Просматривает форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




 007wan пишет:
Всё же не понимаю когда ее использовать? сразу? почему тогда не window?

Я пример использования привел. Что в этой теме, что в http://kibor-bot.com/forum/topic...85764#1558085764
 
 Top
konctantin777
Отправлено: 08 Декабря, 2019 - 10:38:56
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1152
Дата рег-ции: Окт. 2017  
Откуда: Архангельск
Репутация: 6




Здравствуйте. Нокс при просмотре рекламы, меняет размер. Функцией делаю обновить параметры- текст выводит норм, но не нажимает крестик. Что не так ?

CODE:
sleep(10000);
setwindowparam(w_KIB);
sx=w_KIB.leftclient ; sy=w_KIB.topclient;
textout(50, sx, sy, format(w_KIB.widthclient)+"="+format(w_KIB.heightclient), 1);
textout(1, sx, sy+20, "в рекламе", 1);
pause(60000);


CODE:
function кинотеатр()
{

m_KIB2: if (findimage_(#Image_19_KIB[0][0], 20, 20, 100, 1, 0, 0, -1, 0, 0, 0, -1, -1, -1, 20, 100, 1, 408, 423, 720, 480, #sum_KIB, #x_KIB, #y_KIB)>0) goto m_KIB1;
else goto m_KIB3;
m_KIB7: mouse_(20, 10, ex_KIB-30, 30, 2000); goto m_KIB2;
m_KIB3: findimage_(#Image_21_KIB[0][0], 20, 20, 20, 1, 0, 0, -1, 0, 0, 1500, 0, 0, -1, 20, 100, 1, 104, 177, 232, 322, #sum_KIB, #x_KIB, #y_KIB);
findimage_(#Image_23_KIB[0][0], 20, 20, 20, 1, 0, 0, -1, 0, 0, 1500, 0, 0, -1, 20, 100, 1, 58, 124, 272, 256, #sum_KIB, #x_KIB, #y_KIB);
textout(1, sx, sy+20, "в кине", 1);

m_KIB6: if (findimage_(#Image_25_KIB[0][0], 20, 20, 100, 1, 0, 0, -1, 0, 0, 2500, -1, -1, -1, 20, 100, 1, 459, 429, 676, 491, #sum_KIB, #x_KIB, #y_KIB)>0) goto m_KIB8;
else goto m_KIB7;
m_KIB8: реклама(); sleep(100);
setwindowparam(w_KIB);
sx=w_KIB.leftclient ; sy=w_KIB.topclient;
textout(50, sx, sy, format(w_KIB.widthclient)+"="+format(w_KIB.heightclient), 1);
goto m_KIB6;
m_KIB1: flag_check0[4]=0;
return;

}
 
 Top
Dantes3000
Отправлено: 08 Мая, 2021 - 13:36:06
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1489
Дата рег-ции: Июнь 2016  
Репутация: 58




CODE:
f();

function f()
{

win wind[5]; //если обьявить глобально - ошибки не будет

int w_count = window (#wind[0], "Untitled - Notepad", "Notepad", -1);
messagebox(wind.name[0]);

}
 
 Top
Zireael
Отправлено: 08 Мая, 2021 - 13:38:54
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4461
Дата рег-ции: Нояб. 2017  
Репутация: 585




Win объявляется только глобально.
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 5 (гостей: 5, зарегистрированных: 0)
« О программе Кибор »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by