Delphi 设置或者检查应用程序自动启动功能

2017-05-14 11:43:53来源:CSDN作者:zisongjia人点击

1、// 调用此函数查找注册表中是否有指定的值,真:自动启动; 假:未自动启动 

function TfrmMain.GetAutoRunValue: Boolean;
var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create; //创建一个新键
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE; //将根键设置为HKEY_LOCAL_MACHINE
    Reg.OpenKey('/SOFTWARE/Microsoft/windows/CurrentVersion/Run', True); //打开一个键
    if Reg.ValueExists('DetailServer') then
    begin
      if Application.ExeName = Reg.ReadString('DetailServer') then //文件名相同
        Result := True
      else
        Result := False;
    end else
      Result := False;
  finally
    Reg.CloseKey;
    FreeAndNil(Reg);
  end;
end;

 

2、写入注册表,'DetailServer' 是应用程序的名称

procedure TfrmMain.SetAutoRun(Flag: Boolean);
var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create; //创建一个新键
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE; //将根键设置为HKEY_LOCAL_MACHINE
    Reg.OpenKey('/SOFTWARE/Microsoft/windows/CurrentVersion/Run', True); //打开一个键
    if Reg.ValueExists('DetailServer') then Reg.DeleteValue('DetailServer');
    if (Flag = True) then //加入
    begin
      Reg.WriteString('DetailServer', Application.ExeName); //加入到注册表
    end;
  finally
    FreeAndNil(Reg);
  end;
end;

最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台