Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.05.21;
Скачать: CL | DM;

Вниз

перезапуск программы   Найти похожие ветки 

 
Alexandr ©   (2006-04-13 11:05) [0]

А как делается чтоб из программы нажать кнопку, и программа закрылась, выполнились какие-то действия (например обновился экзешник из шары) и опять программа запустилась сама?
Поделитесь кодом, или скажите где глянуть


 
0bsid ©   (2006-04-13 11:11) [1]

проще всего при помощи генерации .bat файла


 
Alexandr ©   (2006-04-13 11:14) [2]

так, а как разрешить противоречие, что на момент запуска батника, программа должна быть уже закрыта?
Т.е. вот в коде запустили батник, и надо успеть самозакрыться, чтоб батник не споткнулся на том, что программа еще не закрыта.


 
Anatoly Podgoretsky ©   (2006-04-13 11:17) [3]

Противоречия нет, на момент запуска программа не должна быть закрыта.
Остальное в справочнике по командам ДОС


 
Сергей М. ©   (2006-04-13 11:24) [4]

Самое простое - реализовать некую MyUpdate.DLL, которая будет заниматься обновлениями.

Перед завершением твоя программа выполняет ком.строку вида :

rundll32 MyUpdate.DLL SomeUpdateProcName, PID, параметры_обновления

где

SomeUpdateProcName - имя некоей экспортируемой процедуры в составе этой DLL, занимающаяся обновлениями;

PID - идентификатор текущего процесса (процесса приложения, исп.файл которого требуется обновить) в текстовом виде

параметры_обновления - один или более (через запятую) текстовых параметров, которые получит вызываемая процедура SomeUpdateProcName, и которые указывают, что ей откуда взять, куда положить, что стереть/переименовать и т.д. и т.п.

Процедура SomeUpdateProcName при этом должна иметь прототип вида:

procedure SomeUpdateProcName(PID: PChar; Param1 [,Param2, Param3, ...]: PChar); stdcall;

Как только SomeUpdateProcName будет вызвана и получит управление, она ожидает завершение процесса, PID которого передан ей 1-м параметром, и выполняет предусмотренные действия по обновлению с учетом параметров, следующих за PID.


 
0bsid ©   (2006-04-13 11:41) [5]


> Alexandr ©   (13.04.06 11:14) [2]
> так, а как разрешить противоречие, что на момент запуска
> батника, программа должна быть уже закрыта?
> Т.е. вот в коде запустили батник, и надо успеть самозакрыться,
>  чтоб батник не споткнулся на том, что программа еще не
> закрыта.

запуск bat, сразу halt, а в батнике цикл на удаление своей программы
батник генерируй по разному, если нужно обратиться к ехе файлу - то делай цикл на успешное удаление, если не нужно - просто копируй поверх что надо обновить. bat удаляется сразу же после запуска твоей проги
я делал так
хотя идея с dll мне в голову не пришла, в следующий раз попробую



Страницы: 1 вся ветка

Текущий архив: 2006.05.21;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.047 c
9-1129832946
Galiaf
2005-10-20 22:29
2006.05.21
Учится хочу.


8-1135116718
Serg_SV
2005-12-21 01:11
2006.05.21
Альфа-смешение


3-1143444932
alxn
2006-03-27 11:35
2006.05.21
Как дублировать все записи в таблице


2-1146656272
Ezorcist
2006-05-03 15:37
2006.05.21
Как проверить cgi- скрипт в оффлайне?


15-1145732092
DBwewq
2006-04-22 22:54
2006.05.21
Помогите пожалуйста! В чем ошибка! timer:longint absolute $40:$6c