Главная страница | назад





Article #17517: How can I delete my executable while it is running?

 Question and Answer Database

FAQ2517C.txt   How can I delete my executable while it is running?
Category   :VCL
Platform    :All
Product    :C++Builder  3.x

Question:
How can I delete my executable while it is running?

Answer:
Under Win32, unless you are running from a removable drive, you
cannot delete a running executable. You can have Windows delete the
executable the next time Windows is run by adding an entry to the
RunOnce key in the Windows registry under:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce

You can name the key anything you like, and specify a command line to
another executable or to a dos command passed to command.com.

Example:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    TRegistry* reg = new TRegistry;
    reg->RootKey = HKEY_LOCAL_MACHINE;
    reg->LazyWrite = false;
    reg->OpenKey("Software\\Microsoft\\Windows\\CurrentVersion\\RunOnce",
                false);
    reg->WriteString("Delete Me!","command.com /c del FILENAME.EXT");
    reg->CloseKey();
    reg->Free();

}

7/2/98 10:32:32 AM
 

Last Modified: 01-SEP-99