скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Помещение записи в одну из секций автозапуска реестра



Автор: VID

{ **** 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;





Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook