Главная страница
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.022 c
1-1102677713
VAV
2004-12-10 14:21
2004.12.26
Конвертация HTML файла


4-1097650637
Lingo
2004-10-13 10:57
2004.12.26
Как добавить новый язык в систему


3-1101757521
Hmm
2004-11-29 22:45
2004.12.26
Нужен пример работы с транзакциями.


4-1100508610
Anics
2004-11-15 11:50
2004.12.26
Работа с компонентом TRxTrayIcon


6-1097535134
AlexeyM
2004-10-12 02:52
2004.12.26
перехват данных программы