BCB自启动程序实现

#include <Registry.hpp>
void __fastcall   AutoRun(bool pRun)
{
  /**//******************************************************
  ** 函数名: AutoRun
  ** 输入: 是否设置自动运行
  ** 功能描述: 设置开机自动运行

  ******************************************************/

  TRegistry *Reg = new TRegistry();
  try
  {
    Reg->RootKey = HKEY_LOCAL_MACHINE;
    Reg->OpenKey("//SOFTWARE//Microsoft//Windows//CurrentVersion//Run//",false);

    if(!Reg->ValueExists("SndMonitor") && !pRun)
    { 
      return;
    }


    if(Reg->ValueExists("SndMonitor") && !pRun)
    {
      Reg->DeleteValue("SndMonitor");
    }
    else
    {
      if(!Reg->ValueExists("SndMonitor") )
      {
        Reg->WriteString("SndMonitor",ExpandFileName(Application->ExeName));
      }
      else
      {
        if(Reg->ReadString("SndMonitor")!=ExpandFileName(Application->ExeName))
        {
          Reg->WriteString("SndMonitor",ExpandFileName(Application->ExeName));
        }
      }
    }

  }
  __finally
  {
    delete Reg;
  }
}

 

posted @ 2016-02-25 15:53  風行  阅读(410)  评论(0编辑  收藏  举报