Приложил файлик с функциями.
function ReadRegAutoRun(ARegRootKey : TRegRootKey; AKeyName : String = ''; AParams : String = '') : Boolean;
Читает ключ для автозапуска
procedure WriteRegAutoRun(ARegRootKey : TRegRootKey; AKeyName : String = ''; AParams : String = '');
Пишет ключ для автозапуска
procedure DeleteRegAutoRun(ARegRootKey : TRegRootKey; AKeyName : String = '');
Удаляет ключ для автозапуска
Пример использования.
В форме настройки:
Код:
// Read autostart status
cbWinStart.Checked := ReadRegAutoRun(rkUser,'VisualReminder','auto');
cbWinStartMin.Enabled := cbWinStart.Checked;
...
// Write autostart status
If cbWinStart.Checked
Then WriteRegAutoRun(rkUser,'VisualReminder','auto')
Else DeleteRegAutoRun(rkUser,'VisualReminder');
Соответсвенно, в основной программе (в FormCreate):
Код:
If ParamCount > 0 Then
If (CompareStr(ParamStr(1),'auto') = 0) And (FPreferences.StartMinimized)
Then Application.ShowMainForm := False;