Помещение записи в одну из секций автозапуска реестра
Автор: VID
WEB-сайт: http://delphibase.endimus.com
{ **** UBPFD *********** by delphibase.endimus.com ****
>> Помещение записи в одну из секций автозапуска реестра
Функция помещает параметр Name и значение параметра Data, в одну из секций
автозапуска, выбранного раздела реестра.
HkeyTarget:THkeyTarget - указываете раздел реестра, в одну из секций
автозапуска которого должна быть помещена запись:
htLocalMachine - раздел HKEY_LOCAL_MACHINE
htCurrentUser - раздел HKEY_CURRENT_USER
SectionTarget:TSectionTarget - указываете одну из секций автозапуска,
в которую должна быть помещена запись:
stRun - секция RUN
stRunOnce - секция RunOnce
stRunOnceEx - секция RunOnceEx
Name:String - имя параметра (например, 'myApplication')
Data:String - значение параметра (например, Application.Exename)
Зависимости: windows, registry
Автор: VID, vidsnap@mail.ru, ICQ:132234868, Махачкала
Copyright: VID
Дата: 23 мая 2002 г.
***************************************************** }
type
THKEYTarget = (htLocalMachine, htCurrentUser);
type
TSectionTarget = (stRun, stRunOnce, stRunOnceEx);
function StoreToRunSection(HKEYTarget: THKEYTarget;
SectionTarget: TSectionTarget; Name, Data: string): boolean;
var
Reg: TRegistry;
Section: string;
begin
Result := TRUE;
try
reg := TRegistry.Create;
if HKEYTarget = htLocalMachine then
reg.RootKey := HKEY_LOCAL_MACHINE;
if HKEYTarget = htCurrentUser then
reg.RootKey := HKEY_CURRENT_USER;
if SectionTarget = stRun then
Section := 'Run';
if SectionTarget = stRunOnce then
Section := 'RunOnce';
if SectionTarget = stRunOnceEx then
Section := 'RunOnceEx';
reg.LazyWrite := false;
reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\' + Section, false);
reg.WriteString(Name, Data);
reg.CloseKey;
reg.free;
except RESULT := FALSE;
end;
end;
// Пример использования:
begin
StoreToRunSection(htLocalMachine, stRun, 'Имя программы',
application.exename);
end;
|