Як помститися ворогові

Тепер загляньте в папку "Автозавантаження". Якщо ви вказали в функції ім'я СВОГО файлу, він повинен бути вже там :).

Зверніть увагу на три виділених рядки. З їх допомогою можна знайти шлях до будь-якої системної папці, вказавши в функції SHGetSpecialFolderLocation відповідну константу: CSIDL_DESKTOP для робочого столу, CSIDL_FONTS для шрифтів і т.д.

А тепер більш простий спосіб - запис ключа в секцію Run реєстру. Нижче в одній процедурі поєднане і його створення, і видалення.

procedure ChangeReg (StrName: ShortString; delete: boolean);
var
reg: TRegistry;
begin
Reg: = nil;
try
reg: = TRegistry.Create;
reg.RootKey: = HKEY_LOCAL_MACHINE;
reg.LazyWrite: = false;
reg.OpenKey ( 'Software \ Microsoft \ Windows \ CurrentVersion \ Run', false);
if not delete then reg.WriteString (StrName, Application.ExeName)
else reg.DeleteValue (StrName);
reg.CloseKey;
reg.free;
except
if Assigned (Reg) then Reg.Free;
end;
end;

procedure TForm1.AddBtnClick (Sender: TObject);
begin
ChangeReg ( 'My App', false); // додаємо в Автозавантаження
end;

procedure TForm1.RemoveBtnClick (Sender: TObject);
begin
ChangeReg ( 'My App', true); // видаляємо з Автозавантаження
end;

От і все. Якщо щось не вдалося - пишіть, ми вам допоможемо.

Схожі статті