Кибор » Кибор - Интегрированная среда разработки ботов » О программе Кибор » Версия 3.35 Обмен данными между программами и скриптами. Управление другой программой

Страниц (5): « 1 2 3 [4] 5 »
 

31. AdryV - 14 Октября, 2019 - 14:54:18 - перейти к сообщению
я имел введу что без опроса удача или неудача функция бестолковая. тупо грузит проц и сеть.
32. ivantu - 15 Октября, 2019 - 00:02:41 - перейти к сообщению
 Dantes3000 пишет:
ivantu , да и ваще на форуме уже есть тема с обсуждением пайпа и проверено и работает.... хай хоть тема и моя но в гугле не смог найти =))))
PIPE

Это все понятно, Владимир хотел другими наработками поделиться:
прямую запись в процесс.
Вот я чего жду )
33. konctantin777 - 15 Октября, 2019 - 02:16:37 - перейти к сообщению
 Dantes3000 пишет:
konctantin777 ,


//отправить событие
CODE:
char ch[256];
strcpy(#ch[0], "Событие1"); //текст, кототый передаем всем компуктерам с ключем key1

enabletimer(0);


loop() sleep(100);


CREATE_TIMER(0, 60000)//Номер таймера, выполнение таймера через мсек.
{
writebuffernet(#ch[0], size(#ch[0]), -1, "key1");
//отсылаем на сервер слово Событие1, прочитать можно
//прочитать можно только если ввести 4-ый параметр как key1
}



//принять событие
CODE:
char ch[256];


loop()
{
readbuffernet(#ch[0], 256, -1, "key1"); //прочитали текст по ключу key1
if(format(#ch[0])=="Событие1") messagebox ("Произошло "+format(#ch[0]));
pause(10000);
}



Спасибо. А такой момент- у меня 7 событий. Принимать нужно только одно, смотря в каком месте скрипт- не соображу...
34. Zireael - 15 Октября, 2019 - 03:55:51 - перейти к сообщению
 Цитата:
Принимать нужно только одно, смотря в каком месте скрипт

В нужном месте вызвать readbuffernet.
Не забываем про ограничение в 28 секунд.
35. konctantin777 - 15 Октября, 2019 - 04:14:53 - перейти к сообщению
Уточню. В одном месте нужно, чтобы принимало только "событие 3", а в другом только "событие 6", игнорируя остальные
36. ivantu - 21 Октября, 2019 - 06:03:40 - перейти к сообщению
 Kibor пишет:
Есть более умное. К примеру pipe
Но я предпочитаю прямую запись в процесс.
Позже выложу инструкцию. Когда не знаю. Через неделю возможно.
Сейчас занят.


Владимир, я так понимаю Вы пока заняты?
37. 007wan - 28 Октября, 2019 - 00:52:08 - перейти к сообщению
Можно, пожалуйста код, который выполнгяет следующее:

1)ищет окно через window
-Если нашел, то записать в диалог следующий шаблон, который состоит из матрицы 3 х 3:
Шаблон (Отобразить)

Тоесть 3 строчки(3 программы) и в их коробках по 3 значения специальный, разделенные "|" и ";" и progN

потом как только он написал это диалогу, то сразу прочесть таким образом:
-Вывести сначала все progN, в которых значения от 1 до 3 по отдельности.
*progN можеб быть другое, это имя программы, оно будет другим.
38. 007wan - 08 Декабря, 2019 - 08:51:44 - перейти к сообщению
Вопрос:
Можно ли как-нибудь записать текст в буфер диалог, внимание, в подбуфер какой-нибудь?

Объясняю:
Буфер диалога это одно целое как коробка.
А есть ли возможность создать типа подобие "кластеров", буфер будет один, а разделен он будет на несколько частей, причем эти части никак друг с другом не смешиваются и читать можно будет как-то (обращаться) через адрес типа.

Не хочу просто парсингом заниматься, а то место занимает пока много, а диалог в роли буфера - один.
39. konctantin777 - 23 Апреля, 2020 - 13:06:25 - перейти к сообщению
Здравствуйте.
Признаться почитал и мало что понял ) Подскажите как положить в свой буфер контрл хрома (запуск над контролом(над браузером хром)), чтобы 2й ехе прочитал его и стал им руководствоваться ?
40. Zireael - 23 Апреля, 2020 - 13:50:18 - перейти к сообщению
 Цитата:
Подскажите как положить в свой буфер контрл хрома (запуск над контролом(над браузером хром)), чтобы 2й ехе прочитал его и стал им руководствоваться ?

Собрать в exe, назвать main:
CODE:
char buffer[1024];
int mouseX, mouseY;

getmouse(mouseX, mouseY);
win w=getwindow(0, mouseX, mouseY); // получить окно под курсором

strcpy(#buffer[0], format(formatwi(w))); // записать в массив хендл окна
writebuffer(#buffer[0], sizearray(buffer)); // записать в свой буфер хендл окна
loop()sleep(100);

Скрипт, который прочитает буфер exe main:
CODE:
char buffer[1024];
win w;

while(window ("main")==0)sleep(100);
w=window ("main");

// Читаем с буфера другой программы
while(readbuffer(#buffer[0], sizearray(buffer), w) < 1)sleep(100);

win w2 = formatiw(formatsn(format(#buffer[0])));
setwindowparam(w2);
messagebox(w2.name);

Powered by ExBB FM 1.0 Final