![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
автозугрузка через реестр. [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