Последние записи
- Перенести программу из Delphi в Lazarus
- Определить текущую ОС
- Автоматическая смена языка (раскладки клавиатуры)
- Сравнение языков на массивах. Часть 2
- wprintf как напечатать кириллицу
- Взаимодействие через командную строку
- Сравнение языков на массивах. Часть 1
- Сравнение языков по скорости
- Чтение огромных xml-файлов
- Как в Python+Selenium webdriver открыть новую вкладку в уже открытом браузере?
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
20th
Янв
Прописать в реестр автозагрузку программы
Posted by Chas under Delphi
Человек_Борща
Кидайте ярлык программы в папку «Автозагрузка» и будет вам счастье.
Темболее не учитываете ситуацию, когда на машине несколько юзеров(и у каждого свой логин), а программа нужна только 1 человеку.
Кидайте в папку автозагрузка, либо пишите в HKEY_CURRENT_USER.
Вот мой метод:
procedure SetAutorunForMe(aForMe, aForAll: Boolean; aParam, aPath: string);
const
RunKey = '\SOFTWARE\Microsoft\Windows\CurrentVersion\Run';
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
try
if aForMe then //Автозапуск для тек. ползьователя. Если да - прописываем, если нет - находим запись и удаляем
begin
Reg.RootKey := HKEY_CURRENT_USER;
if Reg.OpenKey(RunKey, False) then
begin
if not Reg.ValueExists(aParam) then
begin
Reg.WriteString(aParam, aPath);
end;
end;
Reg.CloseKey;
end
else //Если не для текущего пользователя
begin
Reg.RootKey := HKEY_CURRENT_USER;
if Reg.OpenKey(RunKey, False) then //Если удалось открыть ключ
begin
if Reg.ValueExists(aParam) then //КЕсли есть параметр
begin
Reg.DeleteValue(aParam); //Удаляем себя из автозагрузки
end;
end;
Reg.CloseKey;
end;
if aForAll then //Автозапуск для всех. Если да - прописываем, если нет - находим запись и удаляем
begin
Reg.RootKey := HKEY_LOCAL_MACHINE;
if Reg.OpenKey(RunKey, False) then
begin
if not Reg.ValueExists(aParam) then
begin
Reg.WriteString(aParam, aPath);
end;
end;
Reg.CloseKey;
end
else
begin
Reg.RootKey := HKEY_LOCAL_MACHINE;
if Reg.OpenKey(RunKey, False) then
begin
if Reg.ValueExists(aParam) then
begin
Reg.DeleteValue(aParam);
end;
end;
Reg.CloseKey;
end;
finally
FreeAndNil(Reg);
end;
end;
Похожие статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)