На главную
Подписка
Новости


Рейтинг@Mail.ru











Главная / DELPHI / Часто задаваемые вопросы и ответы на них / Win Api / Как стереть ехе-файл во время его исполнения? Сделать домашней страницей Добавить в избранное Написать писмо

Как стереть ехе-файл во время его исполнения?


Это невозможно. Вы можете стереть его во время следующего запуска Windows, добавив ключ RunOnce:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce

Пример:

    uses
      Registry;

    procedure TForm1.Button1Click(Sender: TObject);
    var
      reg: TRegistry;

    begin
      reg := TRegistry.Create;

      with reg do begin
    RootKey := HKEY_LOCAL_MACHINE;
    LazyWrite := false;
    OpenKey('Software\Microsoft\Windows\CurrentVersion\RunOnce',
            false);
    WriteString('Delete Me!','command.com /c del FILENAME.EXT');
    CloseKey;
    free;
      end;
    end;


Источник: Дельфи. Вокруг да около.

Комментарий от "Anatoly Podgoretsky"
Можно еще через bat файл

:Repeat
del "C:\Path\Filename.EXE"
if exist "UNSETUP.EXE" goto Repeat
del "C:\Path\Del.bat"

Или прописать в C:\Windows\wininit.ini следующее, для этого воспользоваться компонентом TIniFile

wininit.ini

[rename]
NUL=filename-to-delete

Copyright ©   "Мастера DELPHI"   E-mail:   delphi@mastak.com  http://www.delphimaster.ru
Источник получения информации: http://www.delphimaster.ru
Hosted by uCoz