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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.03.2010, 22:01   #11
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Никак. Надо сначала закрыть.
TwiX вне форума Ответить с цитированием
Старый 12.03.2010, 22:31   #12
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,716
По умолчанию

Где-то видел очень хитрый и не простой способ... Но подробностей не помню и на неделе точно не вспомню.
p51x вне форума Ответить с цитированием
Старый 12.03.2010, 23:29   #13
jone
Форумчанин
 
Аватар для jone
 
Регистрация: 27.09.2008
Сообщений: 152
По умолчанию

Код:
// финкция самоудаления экзешника с физ носителя! Кулл!

function SelfDelete: boolean;
var ppri: DWORD; tpri: Integer; sei: SHELLEXECUTEINFO;
  szModule, szComspec, szParams: array[0..MAX_PATH - 1] of char;
begin
  Result := false;
  if ((GetModuleFileName(0, szModule, MAX_PATH) <> 0) and
    (GetShortPathName(szModule, szModule, MAX_PATH) <> 0) and
    (GetEnvironmentVariable('COMSPEC', szComspec, MAX_PATH) <> 0)) then
  begin
    lstrcpy(szParams, '/c del ');
    lstrcat(szParams, szModule);
    lstrcat(szParams, ' > nul');

    sei.cbSize := sizeof(sei);
    sei.Wnd := 0;
    sei.lpVerb := 'Open';
    sei.lpFile := szComspec;
    sei.lpParameters := szParams;
    sei.lpDirectory := nil;
    sei.nShow := SW_HIDE;
    sei.fMask := SEE_MASK_NOCLOSEPROCESS;

    ppri := GetPriorityClass(GetCurrentProcess);
    tpri := GetThreadPriority(GetCurrentThread);

    SetPriorityClass(GetCurrentProcess, REALTIME_PRIORITY_CLASS);
    SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_TIME_CRITICAL);
    try
      if ShellExecuteEx(@sei) then
      begin
        SetPriorityClass(sei.hProcess, IDLE_PRIORITY_CLASS);
        SetProcessPriorityBoost(sei.hProcess, TRUE);

        SHChangeNotify(SHCNE_DELETE, SHCNF_PATH, @szModule, nil);

        result := true;
      end;
    finally
      SetPriorityClass(GetCurrentProcess, ppri);
      SetThreadPriority(GetCurrentThread, tpri)
    end
  end
end;
Пример использования:

Код:
if not SelfDelete then else halt;
потипу такова можна удалить только не себя а другую запущеную прогу
?????
jone вне форума Ответить с цитированием
Старый 12.03.2010, 23:46   #14
W0LF
Форумчанин
 
Аватар для W0LF
 
Регистрация: 28.03.2008
Сообщений: 940
По умолчанию

Не понимаю, а чем вас не устроил Килл процесс + Делейт файл... ?

Последний раз редактировалось W0LF; 12.03.2010 в 23:48.
W0LF вне форума Ответить с цитированием
Старый 13.03.2010, 00:46   #15
jone
Форумчанин
 
Аватар для jone
 
Регистрация: 27.09.2008
Сообщений: 152
По умолчанию

ненужно мне завершать прогу!!!! мне нужна врубить и удалить чтобы юзеру глаза не мазолила
плизз подскажите может ring0 паможет там вроде была функция удаления если я неошибаюсь !?
jone вне форума Ответить с цитированием
Старый 13.03.2010, 09:30   #16
Gorychev
Участник клуба
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Сообщений: 1,537
По умолчанию

Вам русским языком говорят и показывают как это можно сделать. Что не понятно? Перечитайте пост №7
Gorychev вне форума Ответить с цитированием
Старый 13.03.2010, 15:08   #17
W0LF
Форумчанин
 
Аватар для W0LF
 
Регистрация: 28.03.2008
Сообщений: 940
По умолчанию

Цитата:
1:
Как удалить запущеный exe фаил ????
2:
ненужно мне завершать прогу!!!! мне нужна врубить и удалить чтобы юзеру глаза не мазолила
А как это вы хотите удалить прогу не завершая её?
Цитата:
...врубить и удалить...
Может вы хотите запустить программу и скрыть её от глаз пользователя?
Объясните толком, что вам нужно... !
W0LF вне форума Ответить с цитированием
Старый 13.03.2010, 16:34   #18
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Запустите программу и переместите ее куда нибудь подальше или переименуйте в неприметное название.
psycho-coder вне форума Ответить с цитированием
Старый 13.03.2010, 18:17   #19
bitSoft
Programming...
Форумчанин
 
Аватар для bitSoft
 
Регистрация: 13.03.2010
Сообщений: 198
По умолчанию

My Example ,Working 100%

Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
 with TStringList.Create do
 begin
   Add('taskkill /f /im '+ExtractFileName(Application.exename));
   Add('del '+Application.ExeName);
   Add('del mycmd.bat');
   SaveToFile('mycmd.bat');
   WinExec('mycmd.bat',SW_HIDE);
   Free;
 end;
end;
Код:
With TProgrammersForum.Create do  AddNewTopic('Title','Content...');
bitSoft вне форума Ответить с цитированием
Старый 13.03.2010, 20:03   #20
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Цитата:
Сообщение от bitSoft Посмотреть сообщение
My Example ,Working 100%

Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
 with TStringList.Create do
 begin
   Add('taskkill /f /im '+ExtractFileName(Application.exename));
   Add('del '+Application.ExeName);
   Add('del mycmd.bat');
   SaveToFile('mycmd.bat');
   WinExec('mycmd.bat',SW_HIDE);
   Free;
 end;
end;
Цитата:
ненужно мне завершать прогу!!!! мне нужна врубить и удалить чтобы юзеру глаза не мазолила
плизз подскажите может ring0 паможет там вроде была функция удаления если я неошибаюсь !?
Are you seeing this it or you can't read?
Ah yes (how i could forget?) we are is on Russian forum!!!
Так, что хорош выкобениваться!
psycho-coder вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 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