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





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