Советы по Delphi

         

Как сделать так, чтобы приложение загружалось при каждой загрузке Windows?


Своим опытом делится Олег Кулабухов:

В данном случае просто следить за соответствующими записями в реестре. Вот пример для Win16 и Win32:

    uses
Registry, {For Win32}
IniFiles; {For Win16}

{$IFNDEF WIN32}
const MAX_PATH = 144;
{$ENDIF}

{For Win32}


procedure TForm1.Button1Click(Sender: TObject);
var
reg: TRegistry;
begin
reg := TRegistry.Create;
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.LazyWrite := false;
reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run',
false);
reg.WriteString('My App', Application.ExeName);
reg.CloseKey;
reg.free;
end;

{For Win16}
procedure TForm1.Button2Click(Sender: TObject);
var
WinIni : TIniFile;
WinIniFileName : array[0..MAX_PATH] of char;
s : string;
begin
GetWindowsDirectory(WinIniFileName, sizeof(WinIniFileName));
StrCat(WinIniFileName, '\win.ini');
WinIni := TIniFile.Create(WinIniFileName);
s := WinIni.ReadString('windows',
'run',
'');
if s = '' then
s := Application.ExeName else
s := s + ';' + Application.ExeName;
WinIni.WriteString('windows',
'run',
s);
WinIni.Free;
end;

[001850]



Содержание раздела