Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.05.21;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.013 c
2-1146643356
Alex_C
2006-05-03 12:02
2006.05.21
Как получить CharSet шрифта


9-1130080449
!Trinix
2005-10-23 19:14
2006.05.21
Чистые коллизии в GLScene


2-1146659381
Wood
2006-05-03 16:29
2006.05.21
Info для приложения.


3-1143450402
solenko
2006-03-27 13:06
2006.05.21
Получение id только что вставленной записи


1-1144497861
так себе
2006-04-08 16:04
2006.05.21
По следам К.Пачеко. Двусторонняя печать





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский