Главная страница
    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.036 c
14-1102042622
Думкин
2004-12-03 05:57
2004.12.26
С днем рождения! 3 декабря


3-1101216607
andrey__
2004-11-23 16:30
2004.12.26
метод UpdateBatch в компоненте TADOTable


14-1102481329
vidiv
2004-12-08 07:48
2004.12.26
вопрос по математике (система неравенств)


3-1101227478
AUS_r4nd0m
2004-11-23 19:31
2004.12.26
Перестройка индексов при добавлении в InterBase c помощью ХП


9-1093546246
Melamed
2004-08-26 22:50
2004.12.26
Вопрос по Speech API





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