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

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

Автозапуск программы


Владимир ©   (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, ничего не меняется.


Наверх

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