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

Вниз

Убить себя   Найти похожие ветки 

 
Builder   (2004-12-15 04:25) [0]

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


 
Fedia ©   (2004-12-15 07:52) [1]

>Убить себя
:))

Пусть данная программа запускает другую программу, например из новой директории, в параметрах запуска которой передавай путь и имя убиваемого файла. Затем купирующую программу закрывай, после чего запущенная программа должна удалить файл, указанный в параметрах своего запуска и закрыться.


 
dr Tr0jan   (2004-12-15 08:00) [2]

Я думаю, что даже проще будет батник заюзать.
Создаешь батник со следущим содержанием:
rem proga.exe /y
rem batnik.bat /y

А затем перед завршением установки запускай этот батник.


 
Fedia ©   (2004-12-15 08:33) [3]

>dr Tr0jan   (15.12.04 08:00) [2]
Программа то может легко подождать момента, когда вызывающее ее приложение закроется, а вот bat файл может сработать до закрытия программы и не принести желаемого результата.


 
KSergey ©   (2004-12-15 08:45) [4]

> [3] Fedia ©   (15.12.04 08:33)

start /wait - и все будет путем ;)


 
Семен Сорокин ©   (2004-12-15 10:13) [5]


> Fedia ©   (15.12.04 08:33) [3]
> Программа то может легко подождать момента, когда вызывающее
> ее приложение закроется, а вот bat файл может сработать
> до закрытия программы и не принести желаемого результата.

если немного модифицировать:

 // создаем бат файл
 _tmp := "C:\" + TMP_BAT_FILE;
 AssignFile(_f, _tmp);
 try
  Rewrite(_f);
  Writeln(_f, "@echo off");
  Writeln(_f, ":del_loop");
  Writeln(_f, "del " + ParamStr(0));
  Writeln(_f, "if exist " + ParamStr(0) + " goto del_loop");
  Writeln(_f, "del " + _tmp);
 finally
  CloseFile(_f)
 end;
 // теперь запускаем
 ShellExecute(hInstance, nil, pchar(_tmp), nil, nil, SW_HIDE);


 
pasha_golub ©   (2004-12-15 12:10) [6]

Семен Сорокин ©   (15.12.04 10:13) [5]
А если вдруг не хватит прав удалить, оно так и будет в цикле крутиться вечно?


 
dr Tr0jan   (2004-12-15 12:17) [7]

Еще обязательно параметр /q /f - для Win2K/XP и /y - для Win98/Me.
А закливание все же не стоит делать, все может случиться...


 
Семен Сорокин ©   (2004-12-15 12:19) [8]


> pasha_golub ©   (15.12.04 12:10) [6]
> А если вдруг не хватит прав удалить, оно так и будет в цикле
> крутиться вечно?

Ну уж прям на создание файла (Rewrite) прав хватило, а на удаление нет... можно конечно и еще что-нибудь придумать.

и почему вечно - до след. перезагрузки :))


 
GuAV ©   (2004-12-15 13:07) [9]

dr Tr0jan   (15.12.04 8:00) [2]
rem proga.exe /y
rem batnik.bat /y


LOL

REM

Enables you to include comments in a batch file or in your CONFIG.SYS file.
The REM command is also useful for disabling commands.



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

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

Наверх




Память: 0.49 MB
Время: 0.024 c
1-1102751874
Dema-X
2004-12-11 10:57
2004.12.26
ошибка еакцессволюшион LoadFromStream


1-1102946209
Илья
2004-12-13 16:56
2004.12.26
GetMem функция


8-1096484344
ser_ega
2004-09-29 22:59
2004.12.26
Картинка!


1-1103047048
mixamixa
2004-12-14 20:57
2004.12.26
Пузырьковая сортировка.


3-1101467864
Explorer
2004-11-26 14:17
2004.12.26
Организация связи клиент-сервер