Показать сообщение отдельно
  #2  
Старый 07.11.2008, 10:16
Аватар для Thrasher
Thrasher Thrasher вне форума
Illuminati
 
Регистрация: 06.03.2008
Адрес: Крым, г. Симферополь
Сообщения: 348
Репутация: 8808
По умолчанию

Предлагаю 2 варианта:

Через Системный реестр:

Код:
procedure SetAutoRun(StrName: ShortString; SetAuto: 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 SetAuto then reg.WriteString(StrName, Application.ExeName)
else reg.DeleteValue(StrName);
reg.CloseKey;
reg.free;
except
if Assigned(Reg) then Reg.Free;
end;
end;

SetAutoRun('My Application',true); //добавляем в Автозагрузку

SetAutoRun('My Application',false); //удаляем из Автозагрузки

Через Win.Ini :
Код:
procedure SetAutoRunWinIni(SetAuto:boolean);
var WinINI:TIniFile; 
Warn:string;// флаг контроля, чтобы не запускалось много раз
begin 
WinINI:=TIniFile.Create('Win.ini');
if SetAuto then 
  begin
   WinINI.ReadString('windows','run',Warn); 
   if Warn<>Application.ExeName then 
   WinINI.WriteString('windows', 'run',Application.ExeName); 
 end
else
 WinINI.Delete('windows', 'run',Application.ExeName);
WinINI.Free;
end;


SetAutoRunWinIni(True); //добавляем в Автозагрузку

SetAutoRunWinIni(False); //удаляем из Автозагрузки
__________________
Хорошо написанная программа не требует документации
ICQ 9-184-668.
Ответить с цитированием