007wan |
Отправлено: 26 Августа, 2019 - 14:58:54
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Kibor , Хочу сказать, что было бы шикарно: ЕСЛИ вы ввели бы такую опцию, которая отключает сочетания "Остановка скрипта", ведь когда я посылаю программе "1", скрипт может быть завершен мгновенно и тогда при открытии в ручную Апдейтеры, то конечно программа не обновится, потому что она не получит указатель на окно, но если программа открыта и он получил указатель, а потом уже будет открыта в ручную Апдейтер, то она обновится без проверки обновлений на новую версию, да, но вероятность существует, хоть и мизерная. Да и если такая функция будет, то можно будет отключать сочетание и не вылазит окно с индивидуальным ключом, потому что зачем мне это сочетание, когда есть WM_CLOSE?
(Добавление)
Вот представь во время обновления прекратить скрипт....Тебе же не остановить его, потому что ты создал эту программу и тебе не требуется, например, во время составления кода для своей программы ее останавливать.
(Добавление)
Ага. Нифига подобного. Если основная программа получает указатель на себя, потом пишет на свое окно "1", а что потом? закрыть основную программу с помощью close? А как тогда Апдейтер получит указатель? Если не закрывать, то как Апдейтеру дать команду на закрытии Основной программы перед установкой?
(Добавление)
Ведь пока основная программа открыта он не изменится, она не обновится, это надо ее закрыть.(Отредактировано автором: 26 Августа, 2019 - 15:13:30) |
|
|
Zireael |
Отправлено: 27 Августа, 2019 - 02:30:06
|
Эксперт
Покинул форум
Сообщений всего: 4464
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: а как мне запустить программу если у нее имя изменилось, например, на "bot копия.exe"?
При запуске бот проверяет есть ли обновление, если есть запускает апдейтер, самого бота можно скрыть пока апдейтер запускается. Комбинацию выключения скрипта можно сменить, если переживаете что скрипт остановят. Как только апдейтер запустился пишем в его буфер имя бота, который запустил апдейтер, бот закрывается. Апдейтер скачивает новую версию и переименовывает скаченный файл, получив имя из своего буфера.
(Добавление)
Узнать имя exe (Отобразить)CODE:external(INT, "GetModuleFileName", "GetModuleFileNameA", "Kernel32.dll");
messagebox(name_exe()); // имя exe
function name_exe()
{
string s="";
char name[255];
if(GetModuleFileName(0, address(#name[0]), sizearray(name)))
regexsearch(1, #s, format(#name[0]), "[^\\]+$");
return s;
} |
|
|
Dreno |
Отправлено: 24 Февраля, 2021 - 20:16:56
|
Прохожий
Покинул форум
Сообщений всего: 1
Дата рег-ции: Февр. 2021
Репутация: 0
|
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("Файл успешно скачан");
Спасибо, это то, что я искал). Сейчас написал бота для одной игрушки, есть вероятность, что в дальнейшем необходимо будет обновлять часть ресурсов для поиска, как раз подобный код поможет мне реализовать задуманное и привнести пользу для людей скачавших написанного бота. |
|
|
|