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

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

 Страниц (24): « 1 2 [3] 4 5 6 7 8 9 » В конец    

> Без описания
007wan
Отправлено: 17 Мая, 2019 - 13:27:33
Post Id



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


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




Kibor , А в чем разница? какие плюсы?
 
 Top
Kibor
Отправлено: 17 Мая, 2019 - 13:35:55
Post Id



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


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




 007wan пишет:
А в чем разница? какие плюсы?

Запустите 2 таких скрипта и увидите.
Как второй бот привяжется к первому по его имени.
 
 Top
007wan
Отправлено: 17 Мая, 2019 - 13:37:32
Post Id



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


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




Kibor ,
 Kibor пишет:
Как второй бот привяжется к первому по его имени.
Никак, у каждого бота будет разное название окон)
 
 Top
Kibor
Отправлено: 17 Мая, 2019 - 13:39:43
Post Id



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


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




007wan , Короче я сказал какие плюсы.
Тут он получает указатель внутри себя на себя, а при window на любое окно в системе и зависит от имени окна. Что не есть правильно в данном случае.
 
 Top
007wan
Отправлено: 17 Мая, 2019 - 13:40:12
Post Id



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


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




А почему не так?
CODE:
win w;
createdialog(0);
//////////

showdialog(0, "Диалог", 58, 234, 250, 300, 1, 1);
//////////
//Тогда уже так лучше думаю
while(window("K2019Bot") == 0)//ждем пока запустится диалог
{
sleep(10);
}
else
{//если запустился, то..
setwindowparam(w);//Обновляет информацию в структуре win по указателю win после открытия окна
messagebox (w.name);
}

loop() sleep(10);//Убрать после теста

function getmessage(0, WM_CREATE)
{
w=formatiw(gethwnd(0));//узнаем указатель по HWND
}
Ведь если диалог не запутится, то обновлять нечего будет, а может вообще не успеть функция, хотя это бред..)
(Добавление)
Kibor , Аааааааааааааааааааааа, понял . блин)
(Добавление)
 007wan пишет:
setwindowparam(w);//Обновляет информацию в структуре win по указателю win после открытия окна
Применяется один раз или как window? сколько потребуется..? до нужного результата разумеется
 
 Top
Kibor
Отправлено: 17 Мая, 2019 - 13:44:19
Post Id



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


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




 007wan пишет:
while(window("K2019Bot") == 0)//ждем пока запустится диалог
{
sleep(10);
}
else
{//если запустился, то..
setwindowparam(w);//Обновляет информацию в структуре win по указателю win после открытия окна
messagebox (w.name);
}


не лучше.
Ожидать появление диалога надо для использования window
а тут нам window не нужен, так как HWND мы получили еще в момент создания диалога.
И там же получили на него указатель.
Но на тот момент окна еще нет и мы не знаем его названия, позиции и тд.
Поэтому после создания самого диалога мы обновляем информацию в указателе. setwindowparam
 
 Top
007wan
Отправлено: 17 Мая, 2019 - 13:47:45
Post Id



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


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




Kibor , Спасибо. понял.
(Добавление)
Последний вопрос:
после того как я использовал setwindowparam после создания диалога, то
CODE:
w=formatiw(gethwnd(0));//узнаем указатель по HWND
Используется один раз и в этой функции или можно использовать много раз? Если один раз, то указатель не пропадает в других функциях? просто у меня в каждой функции стоит функция, которая получает указатель на мое оно для перестраховки
 
 Top
Kibor
Отправлено: 17 Мая, 2019 - 13:56:32
Post Id



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


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




HWND один раз получаем . в WM_CREATE
можно и потом, но он никуда не исчезнет. он дается 1 раз
 
 Top
007wan
Отправлено: 17 Мая, 2019 - 13:57:39
Post Id



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


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




Kibor , Всё, спасибо.
(Добавление)
как сделать, если функция вызвалась за 1-2 секунды больше 10 раз, то не делать resettextout, иначе - делать
 
 Top
Zireael
Отправлено: 18 Мая, 2019 - 03:48:53
Post Id



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


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




 Цитата:
как сделать, если функция вызвалась за 1-2 секунды больше 10 раз, то не делать resettextout, иначе - делать

CODE:
int x=0;
int t=gettime()+2000;

loop()
{
f();
sleep(100);
}

// если за 2 секунды функция будет вызвана больше 9 раз, то будет сообщение
function f()
{
if(gettime() < t)
{
x++;
if(x>9){x=0; t=gettime()+2000; messagebox("+++");}
}
else {x=0; t=gettime()+2000;}
}
 
 Top
Страниц (24): « 1 2 [3] 4 5 6 7 8 9 » В конец
Сейчас эту тему просматривают: 5 (гостей: 5, зарегистрированных: 0)
« Вопросы и решение проблем »


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




Powered by