Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

автозугрузка через реестр. [D7, WinXP]


Ник2006:) ©   (2006-08-29 13:41:00) 

Долго думать не стал как поместить программу в автозагрузку и нашел в FAQ вот такой примерчик:

procedure SetAutorun(aProgTitle,aCmdLine: string; aRunOnce: boolean );
var
 hKey: string;
 hReg: TRegIniFile;
begin
 if aRunOnce then hKey := 'Once'
 else
   hKey := '';

 hReg := TRegIniFile.Create( '' );
 hReg.RootKey := HKEY_LOCAL_MACHINE;
 hReg.WriteString('Software\Microsoft\Windows\CurrentVersion\Run'
                 + hKey + #0,
                 aProgTitle,
                 aCmdLine );
 hReg.destroy;
end;

Функция работает нормально (помещает в автозагрузку прогу)

Но вот есть несколько проблеммммок:
1. Файлы конфигурации, которая она использует, не может найти. Кричит что не нашла файла и закрывается.
2. Она создает файлы (error log) не в той директории где находится а в папке "DocmentAndSettings\User"

Хотя если просто файл запустиь из родной папки работает всё нормально.

Как мне "прописать" рабочий каталог для этой проге в реестре??? Кто что посоветует?


Плохиш   (2006-08-29 14:12:00) [1]


> Но вот есть несколько проблеммммок:

Уж сколько раз твердиле ламерам, что надо использовать полные пути файлов в программе.


PSPF2003   (2006-08-29 14:12:00) [2]


> 1. Файлы конфигурации, которая она использует, не может
> найти. Кричит что не нашла файла и закрывается.

ExtractFilePath(ParamStr(0));


PSPF2003   (2006-08-29 14:11:00) [3]

var
 reg : TRegistry;
begin
   reg := TRegistry.Create;
   reg.RootKey := HKEY_LOCAL_MACHINE;
   reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', false);
   reg.WriteString(Caption, Application.ExeName);
   reg.CloseKey;
   reg.free;
end


Наверх

Титульная страница Поиск, карта сайта Написать письмо