Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Вопросы

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

21. 007wan - 17 Мая, 2019 - 05:27:33 - перейти к сообщению
Kibor , А в чем разница? какие плюсы?
22. Kibor - 17 Мая, 2019 - 05:35:55 - перейти к сообщению
 007wan пишет:
А в чем разница? какие плюсы?

Запустите 2 таких скрипта и увидите.
Как второй бот привяжется к первому по его имени.
23. 007wan - 17 Мая, 2019 - 05:37:32 - перейти к сообщению
Kibor ,
 Kibor пишет:
Как второй бот привяжется к первому по его имени.
Никак, у каждого бота будет разное название окон)
24. Kibor - 17 Мая, 2019 - 05:39:43 - перейти к сообщению
007wan , Короче я сказал какие плюсы.
Тут он получает указатель внутри себя на себя, а при window на любое окно в системе и зависит от имени окна. Что не есть правильно в данном случае.
25. 007wan - 17 Мая, 2019 - 05:40:12 - перейти к сообщению
А почему не так?
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? сколько потребуется..? до нужного результата разумеется
26. Kibor - 17 Мая, 2019 - 05:44:19 - перейти к сообщению
 007wan пишет:
while(window("K2019Bot") == 0)//ждем пока запустится диалог
{
sleep(10);
}
else
{//если запустился, то..
setwindowparam(w);//Обновляет информацию в структуре win по указателю win после открытия окна
messagebox (w.name);
}


не лучше.
Ожидать появление диалога надо для использования window
а тут нам window не нужен, так как HWND мы получили еще в момент создания диалога.
И там же получили на него указатель.
Но на тот момент окна еще нет и мы не знаем его названия, позиции и тд.
Поэтому после создания самого диалога мы обновляем информацию в указателе. setwindowparam
27. 007wan - 17 Мая, 2019 - 05:47:45 - перейти к сообщению
Kibor , Спасибо. понял.
(Добавление)
Последний вопрос:
после того как я использовал setwindowparam после создания диалога, то
CODE:
w=formatiw(gethwnd(0));//узнаем указатель по HWND
Используется один раз и в этой функции или можно использовать много раз? Если один раз, то указатель не пропадает в других функциях? просто у меня в каждой функции стоит функция, которая получает указатель на мое оно для перестраховки
28. Kibor - 17 Мая, 2019 - 05:56:32 - перейти к сообщению
HWND один раз получаем . в WM_CREATE
можно и потом, но он никуда не исчезнет. он дается 1 раз
29. 007wan - 17 Мая, 2019 - 05:57:39 - перейти к сообщению
Kibor , Всё, спасибо.
(Добавление)
как сделать, если функция вызвалась за 1-2 секунды больше 10 раз, то не делать resettextout, иначе - делать
30. Zireael - 17 Мая, 2019 - 19:48:53 - перейти к сообщению
 Цитата:
как сделать, если функция вызвалась за 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;}
}

Powered by ExBB FM 1.0 Final