![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Автозапуск программы
Владимир © (2004-07-27 23:07:00)Проблема такая:
Пишу прогу на KOL. Нужно запускать ее при старте Windows.
Пробовал прописывать автозапуск в реестр - прога стартует, но работает не так, как нужно... Если запускаю через ярлык в папке "Автозагрузка", -все OK. Только вот как этот ярлык создавать или удалять программно?
Нарисуйте, пожалуйста, если можно с комментариями, а то сижу третий день и результат, кроме вывиха мозгов, нулевой...
Владимир (2004-07-30 02:40:00) [1]Спасибо, но вообще-то я спрашивал, как сделать ярлык и запихать его в Автозагрузку...
Кому интересно про ярлыки, я нашел кое-что вот тут : http://vitalonic.narod.ru/kol/ans1.html#1
Baloo (2004-07-29 08:31:00) [2]Вот кусочек проги на KOL:
//----------Процедура инсталляции ----------------------------------------------
procedure Install;
const
KeyRun = 'SOFTWARE\Microsoft\Windows\CurrentVersion\Run';
var
//Reg:TRegistry;
Expl : string;
Key : HKEY;
begin
try
cPath:= GetStartDir+ExtractFileName(ParamStr(0)); // GetStartDir сразу со слэшем
Win:=SysDir+'\Имя твоего экзешника.exe'; // Путь в системной папке
//--------- пишемся в реестр ---------------------------------------------------
Expl := 'Имя твоего экзешника'; //Ну, или еще какое имя...
Key := RegKeyOpenWrite(HKEY_CURRENT_USER,KeyRun); //Пишем текущему юзеру
RegKeySetStr(Key,Expl,Win);
RegKeyClose(Key);
Key := RegKeyOpenWrite(HKEY_LOCAL_MACHINE,KeyRun); //Пишем в локальную машину
RegKeySetStr(Key,Expl,Win);
RegKeyClose(Key);
//--------- Записались в реестр :-) -------------------------------------------
Записались аж 2 раза. Хотя достаточно было одного - в HKLM, как любой четный человек.
grom (2004-07-28 08:08:00) [3]procedure TForm1.CheckBox1Click(Sender: TObject);
var registr:TRegistry;
begin
registr := TRegistry.Create;
registr.RootKey := HKEY_LOCAL_MACHINE;
registr.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', false);
if CheckBox1.Checked
then registr.WriteString(Application.Title, ParamStr(0))
else registr.DeleteValue(Application.Title);
registr.Free;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
CheckBox1Click(Sender);
end;
SPeller (2004-07-28 03:21:00) [4]От того что ты пишешь её на KOL, ничего не меняется.