Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Убить себя [D7, Win2k, WinXP]


Builder ©   (2004-12-15 04:25:00) 

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


GuAV   (2004-12-15 13:07:00) [1]

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.


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


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

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

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


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

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


pasha_golub   (2004-12-15 12:10:00) [4]

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


Семен Сорокин   (2004-12-15 10:13:00) [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);


KSergey   (2004-12-15 08:45:00) [6]

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

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


Fedia   (2004-12-15 08:33:00) [7]

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


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

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

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


Fedia   (2004-12-15 07:52:00) [9]

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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо