...

Листинг 7.16.

Определение режима запуска приложения

procedure TForm1.GetRunMode();

var

reg: TRegistry;

begin

reg := TRegistry.Create();

reg.RootKey := HKEY_LOCAL_MACHINE;

//Определение, как запускается программа (по наличию значений

//в соответствующих разделах)

if reg.OpenKey(\'Software\Microsoft\Windows\CurrentVersion\Run\',

False)

then

begin

if reg.ValueExists(Application.Title) then

begin

//Программа есть в разделе Run —

//запускается при каждой загрузке Windows

optAutoRun.Checked := True;

reg.CloseKey();

Exit;

end;

reg.CloseKey();

end;

if reg.OpenKey(\'Software\Microsoft\Windows\CurrentVersion\

RunOnce\', False)

then

begin

if reg.ValueExists(Application.Title) then

begin

//Программа есть в разделе RunOnce —

//запускается один раз при старте Windows

optRunOnce.Checked := True;

reg.CloseKey();

Exit;

end;

reg.CloseKey();

end;

//Автозапуск программы (рассматриваемым способом) не включен

optRunNone.Checked := True;

reg.Free();

end;

Параметры запуска изменяются (в рассматриваемом приложении) при нажатии кнопки Применить (листинг 7.17).

Загрузка...