Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.03.2010, 18:52   #1
jone
Форумчанин
 
Аватар для jone
 
Регистрация: 27.09.2008
Сообщений: 152
По умолчанию Как удалить exe если он запущен?

Как удалить запущеный exe фаил ????
jone вне форума Ответить с цитированием
Старый 12.03.2010, 19:12   #2
Deamonig
Форумчанин
 
Аватар для Deamonig
 
Регистрация: 19.09.2009
Сообщений: 166
По умолчанию

Google.ru - "как удалить запущенный ехе файл"
1-я страница 1-й результат, все докладно описано http://habrahabr.ru/blogs/windows/77818/
Deamonig вне форума Ответить с цитированием
Старый 12.03.2010, 19:27   #3
jone
Форумчанин
 
Аватар для jone
 
Регистрация: 27.09.2008
Сообщений: 152
По умолчанию

нуну


кто ещё что предложит?
jone вне форума Ответить с цитированием
Старый 12.03.2010, 19:33   #4
Gorychev
Участник клуба
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Сообщений: 1,537
По умолчанию

Тупо убить процесс, а потом екзешник удалить
Gorychev вне форума Ответить с цитированием
Старый 12.03.2010, 19:38   #5
Deamonig
Форумчанин
 
Аватар для Deamonig
 
Регистрация: 19.09.2009
Сообщений: 166
По умолчанию

у вас какая Win стоит?
Deamonig вне форума Ответить с цитированием
Старый 12.03.2010, 19:39   #6
Xatr
Форумчанин
 
Аватар для Xatr
 
Регистрация: 17.09.2008
Сообщений: 349
По умолчанию

можно ли сделать так, чтобы exe удалил сам себя?
без использования Cmd файлов (создать cmd файл, вписать в него "del 1.exe", запустить cmd, и закрыть прогу).
если чем помог, поставьте отзыв на весы
Xatr вне форума Ответить с цитированием
Старый 12.03.2010, 19:41   #7
W0LF
Форумчанин
 
Аватар для W0LF
 
Регистрация: 28.03.2008
Сообщений: 940
По умолчанию

Код:
{** Убиваем процесс по имени файла **}
uses
  Tlhelp32, Windows, SysUtils;

function KillTask(ExeFileName: string): integer;
const
  PROCESS_TERMINATE=$0001;
var
  ContinueLoop: BOOL;
  FSnapshotHandle: THandle;
  FProcessEntry32: TProcessEntry32;
begin
  result := 0;

  FSnapshotHandle := CreateToolhelp32Snapshot
  (TH32CS_SNAPPROCESS, 0);
  FProcessEntry32.dwSize := Sizeof(FProcessEntry32);
  ContinueLoop := Process32First(FSnapshotHandle,
  FProcessEntry32);

  while integer(ContinueLoop) <> 0 do
  begin
    if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
    UpperCase(ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) =
    UpperCase(ExeFileName))) then
      Result := Integer(TerminateProcess(OpenProcess(
      PROCESS_TERMINATE, BOOL(0), FProcessEntry32.th32ProcessID), 0));
    ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
  end;

  CloseHandle(FSnapshotHandle);
end;

{** Пример: KillTask('notepad.exe'); Ну, а затем удаляете файл через DeleteFile**}
W0LF вне форума Ответить с цитированием
Старый 12.03.2010, 19:56   #8
jone
Форумчанин
 
Аватар для jone
 
Регистрация: 27.09.2008
Сообщений: 152
По умолчанию

вапрос был другой убивать процес мне ненужно
а нужно удалить запущеную прогу
win xp sp3
jone вне форума Ответить с цитированием
Старый 12.03.2010, 20:12   #9
Deamonig
Форумчанин
 
Аватар для Deamonig
 
Регистрация: 19.09.2009
Сообщений: 166
По умолчанию

Можно поступить так. При событии OnClose формы нужно создать .bat файл с именем например C:\dd.bat. В нем записать
Код:
del "Диск:\путь к программе\table.exe"
del "C:\dd.bat"
После чего запустит данный bat файл. Он должен удалить ваш .exe и сам себя

Последний раз редактировалось Deamonig; 12.03.2010 в 20:24.
Deamonig вне форума Ответить с цитированием
Старый 12.03.2010, 20:38   #10
W0LF
Форумчанин
 
Аватар для W0LF
 
Регистрация: 28.03.2008
Сообщений: 940
По умолчанию

Цитата:
Сообщение от jone Посмотреть сообщение
вапрос был другой убивать процес мне ненужно
а нужно удалить запущеную прогу
win xp sp3
Вы извините, но как это вы собрались удалять программу которая работает в системе не закрывая её процесса? Тоже самое что достать картошку не выкапывая её... Система просто так не отдаст программу. Удаляйте процесс, а за тем сразу же удаляйте программу...
W0LF вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
установил прогу "reiting.exe" присланную в сообщении всеми нам известного сайта VKONTAKTE.RU, как удалить MAP78 Безопасность, Шифрование 21 16.12.2012 17:00
Как удалить Edit, если на нём фокус? Stein21 Общие вопросы Delphi 4 20.01.2009 00:04
создать папку в том месте откуда запущен exe Stanislav Общие вопросы Delphi 1 22.11.2007 17:58
Можно ли вообще изменить exe-файл, если да то как? Скуби-ду Общие вопросы Delphi 6 10.04.2007 07:56
как удалить анти вирус( касперский 2006)если она не работает и ее не возможно удалить Alar Общие вопросы Delphi 0 29.10.2006 21:36