Главная страница
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.05 c
15-1145694764
unknown
2006-04-22 12:32
2006.05.21
Ну филлипс блин дает :)


3-1143617371
ivc_andr
2006-03-29 11:29
2006.05.21
SQL-DMO


2-1146409591
Ezorcist
2006-04-30 19:06
2006.05.21
Скриншот в консольном приложении


2-1146458695
Yastreb
2006-05-01 08:44
2006.05.21
Работа с paradox


15-1145764548
Der Nechk@ssoff
2006-04-23 07:55
2006.05.21
CRC