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

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

31. Kibor - 26 Августа, 2019 - 06:53:03 - перейти к сообщению
 007wan пишет:
Основная его сама запустит и он проверит на наличие "1".
32. 007wan - 26 Августа, 2019 - 06:58:54 - перейти к сообщению
Kibor , Хочу сказать, что было бы шикарно: ЕСЛИ вы ввели бы такую опцию, которая отключает сочетания "Остановка скрипта", ведь когда я посылаю программе "1", скрипт может быть завершен мгновенно и тогда при открытии в ручную Апдейтеры, то конечно программа не обновится, потому что она не получит указатель на окно, но если программа открыта и он получил указатель, а потом уже будет открыта в ручную Апдейтер, то она обновится без проверки обновлений на новую версию, да, но вероятность существует, хоть и мизерная. Да и если такая функция будет, то можно будет отключать сочетание и не вылазит окно с индивидуальным ключом, потому что зачем мне это сочетание, когда есть WM_CLOSE?
(Добавление)
Вот представь во время обновления прекратить скрипт....Тебе же не остановить его, потому что ты создал эту программу и тебе не требуется, например, во время составления кода для своей программы ее останавливать.
(Добавление)
Ага. Нифига подобного. Если основная программа получает указатель на себя, потом пишет на свое окно "1", а что потом? закрыть основную программу с помощью close? А как тогда Апдейтер получит указатель? Если не закрывать, то как Апдейтеру дать команду на закрытии Основной программы перед установкой?
(Добавление)
Ведь пока основная программа открыта он не изменится, она не обновится, это надо ее закрыть.
33. Zireael - 26 Августа, 2019 - 07:23:03 - перейти к сообщению
Надо ещё больше всё усложнить, чтобы ещё больше возникло мифических проблем.
Уже давно написали схему как работает апдейтер в киборе. Зачем заново изобретать велосипед?
34. 007wan - 26 Августа, 2019 - 08:11:42 - перейти к сообщению
 Zireael пишет:
Надо ещё больше всё усложнить, чтобы ещё больше возникло мифических проблем.
Уже давно написали схему как работает апдейтер в киборе. Зачем заново изобретать велосипед?
Я стараюсь не изобретать велосипед, а миниминизовать возникновение тех мифических проблем, что бы всё работало идеально и в разные случаи были
(Добавление)
Хорошо, а как мне запустить программу если у нее имя изменилось, например, на "bot копия.exe"?
(Добавление)
короче пофиг и в правду не буду изобретать. Просто я чувствую ощущение не полноценно работающего кода) странно)
35. Zireael - 26 Августа, 2019 - 18:30:06 - перейти к сообщению
 Цитата:
а как мне запустить программу если у нее имя изменилось, например, на "bot копия.exe"?

При запуске бот проверяет есть ли обновление, если есть запускает апдейтер, самого бота можно скрыть пока апдейтер запускается. Комбинацию выключения скрипта можно сменить, если переживаете что скрипт остановят. Как только апдейтер запустился пишем в его буфер имя бота, который запустил апдейтер, бот закрывается. Апдейтер скачивает новую версию и переименовывает скаченный файл, получив имя из своего буфера.
(Добавление)
Узнать имя exe (Отобразить)
36. Dreno - 24 Февраля, 2021 - 12:16:56 - перейти к сообщению
 ivantu пишет:
Я использую такой вариант:

CODE:

string ftp="****.zzz.com.ua"; // фтп, исправить на свой
string login="****"; // исправить на свой
string pass="****"; // исправить на свой

int open, _close, connect, file, catalog;
external(INT, "InternetOpen", "InternetOpenA", "Wininet.dll" );
external(INT, "InternetCloseHandle", "InternetCloseHandle", "Wininet.dll" );
external(INT, "InternetConnect", "InternetConnectA", "Wininet.dll" );
external(INT, "FtpSetCurrentDirectory", "FtpSetCurrentDirectoryA", "Wininet.dll" );
external(INT, "FtpGetFile", "FtpGetFileA", "Wininet.dll" );


open=InternetOpen("Microsoft Internet Explorer", 0, 0, 0, 0);
connect=InternetConnect(open, ftp, 21, login, pass, 1, 134217728, 0);
catalog=FtpSetCurrentDirectory(connect, ftp);
file=FtpGetFile(connect, "Имя_файла_на_сервере.exe", "назвать файл и положить в папку с кибор.exe", 0, 0, 0); // скачать файл в папку с кибор
_close=InternetCloseHandle(connect);

if(file==0){sleep(500);}
else messagebox("Файл успешно скачан");


Спасибо, это то, что я искал). Сейчас написал бота для одной игрушки, есть вероятность, что в дальнейшем необходимо будет обновлять часть ресурсов для поиска, как раз подобный код поможет мне реализовать задуманное и привнести пользу для людей скачавших написанного бота. Радость

Powered by ExBB FM 1.0 Final