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

Вниз

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

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

Наверх




Память: 0.46 MB
Время: 0.079 c
14-1102164214
Andy BitOff
2004-12-04 15:43
2004.12.26
Чьи файлы?


1-1103088042
lexales
2004-12-15 08:20
2004.12.26
Как отоброзить загрузку


1-1102508634
Saveliy
2004-12-08 15:23
2004.12.26
Определить по exe-файлу название приложения?


14-1102083278
Igor_thief
2004-12-03 17:14
2004.12.26
Delphi 2005 и RAVE


1-1102841605
Russko
2004-12-12 11:53
2004.12.26
Проверка на существование формы





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский