(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Автозагрузка в Delphi (исходники)

Источник: pcnext
Darkmaster

Очень часто программы прописывают себя в автозагрузку. Зачем это нужно? Да, в общем-то, цели разные. Иногда бывает нужно, чтобы программа грузилась вместе с операционной системой, например, как электронный органайзер. Или если вы пишите троян или вирус - это тоже может пригодиться. Цели разные и способы тоже. Мы рассмотрим самые популярные способы. В принципе стандартным способом автозагрузки в Windows XP является реестр. Если говорить по конкретней, то ключ HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run. Именно сюда прописывается большинство программ. Прописать сюда свою программу очень просто, делается это так:

var Reg:TRegistry;
begin
Reg:=TRegIniFile.Create;
Reg.RootKey:=HKEY_LOCAL_MACHINE;
Reg.OpenKey('Software',true);
Reg.OpenKey('Microsoft',true);
Reg.OpenKey('Windows',true);
Reg.OpenKey('CurrentVersion',true);
Reg.OpenKey('Run',true);
Reg.WriteString('Здесь пишем что угодно, как правило имя проги',Application.ExeName);
Reg.CloseKey;
Reg.Free;

Код очень простой и не должен вызвать каких-либо трудностей, если вы работали с реестром. Кстати, не забудьте добавить в раздел uses модуль Registry для работы с реестром. Между прочим, необязательно добавлять программу именно в Run, ведь еще есть RunOnce и RunOnceEx . Еще пункт Run присутствует в ключе HKEY_CURRENT_USER . Ну, думаю с реестром все понятно, давайте рассмотрим следующий вариант. Это win.in . Чем он хорош, да тем, что о нем не каждый юзер знает, или знает, но все же не смотрит, а значит туда можно вбивать свои пакостные программы. Еще одним плюсом win.in является полная совместимость с Windows 9х. А это дополнительное преимущество. Для начала добавьте в uses модуль inifiles, а не то проект просто не откомпилируется. Ну и запишем следующий код:

var Win:TIniFile;
warn:string;
begin
Win:=TIniFile.Create('Win.ini');
Win.ReadString('windows','run',warn);
if warn<>Application.ExeName then
Win.WriteString('windows', 'run',Application.ExeName);
Win.Free;

Теперь я объясню, что здесь происходит. В разделе var мы объявили две переменных Win типа TIniFile и warn типа строка. В первой строке кода (после ключевого слова begin) мы открываем файл. Далее читаем его параметр run. Если наша объявленная строка неравна приложению, то записываем вместо этой строки наше приложение. Освобождаем память. Как видите все очень просто. В принципе, все это, конечно, хорошо. Но как удалить программу из автозагрузки. Здесь просто нужно вместо строки Win.WriteString('windows', 'run',Application.ExeName); вставить строку удаления автозапуска Win.Delete('windows', 'run',Application.ExeName); Вот исходник удаления из автозапуска:

var Win:TIniFile;
warn:string;
begin Win:=TIniFile.Create('Win.ini');
Win.ReadString('windows','run',warn);
if warn=Application.ExeName then Win.Delete('windows', 'run',Application.ExeName);
Win.Free;

C кодом я думаю все должно быть понятно. Это все, что я хотел рассказать про автозагрузку и, думаю, что вам этого вполне хватит.

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 02.02.2007 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
IBM Domino Messaging Client Access License Authorized User License + SW Subscription & Support 12 Months
Zend Guard 1 Year Subscription
erwin Data Modeler Standard Edition r9.7 - Product plus 1 Year Enterprise Maintenance Commercial
Quest Software. Toad for Oracle Development Suite
EMS SQL Management Studio for PostgreSQL (Business) + 1 Year Maintenance
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
СУБД Oracle "с нуля"
Вопросы и ответы по MS SQL Server
Утиль - лучший бесплатный софт для Windows
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100