Автозагрузка твоих программ при старте Винды!

Вступление что ли...

Оо, похоже, ты написал классную прогу, настолько классную, что тебе хочется, чтоб она грузилась при каждом старте Виндозы. А как это сделать и не знаешь. Ну, тогда почитай чего я тут написал. А ну и еще сразу скажу, что примеры я буду приводить на CBuilder5 (это мой любимый язык на сегодня :) Ну, что перейдем к делу..

Способу которые использовал я:

1. Самый древний. Это через autoexec.dat . Этот файлик находится в корнивеке диска, где у тебя операционка установлена. И содержит чего запускать надо при старте, например строка такого типа c:\nc\nc.exe определяет то, что при старте зразу же загрузится твой любимый Нортон! (ну это так напомнил тебе что так бывает) На мой взгляд способ не Супер! Покажите мне чела, который будет так грузить свои Супер навороченыен часики под Винду!! Хотя таким способом грузится прога без которой ты вряд ли что сможешь почитать в Досе, я говорю о keyrus'е (все знают что ето есть такое?!) Пример я приводить не буду, ту ничего интересного. (если что, почитай вумную книжку по своему любимому языку, глава называется типа того 'Работа с файлами')

2. Способ более подходящий для загрузки твоих часиков (или что ты там собрался грузить?!) А суть такова: (думаешь, я что то супер новое расскажу :) ? )Тадан! Автозагрузка! Это папочка такая в пуске, находится (для тех, кто забыл) :) способ удобен тем, что пользователь всегда виде, что у него грузится и всегда это может удалить из автозагрузки! (ну не понравились ему твои супер часики, вот какой, не понимает какие они уматные!)

3. Способ поинтересней. Свои проги можешь загружать с помощью виндозовского system.ini находится в кактлоге Windows. Думаю, ты знаешь, как организуются ini файлы.. Так вот найди секцию [boot] и в этой секции укажи полный путь к своей программе. Все прога загрузится при старте по любому! Вот посмотри, как я это сделал.

//==========================================================

// автозапуск проги через реестр ВНИМАНИЕ! Подключи модуль Inifiles.hpp

//Name-имя проги; Path-путь где находится прога

void __fastcall AutoRun(AnsiString Name, AnsiString Path)

{ TIniFile *ini; // указатель на ини файл

Path = Path+"\\"+Name; //создаем конечный путь

ini->WriteString("boot",Name, Path); //записываем в секцию boot нашу прогу

delete ini; //убиваем указатель на ини файл

}

 

4. Ну, теперь самое интересное! Автозапуск через реестр windows

Вот где находится автозапуск в реестре:

HKEY_CURRENT_USER

Software\Microsoft\Windows\CurrentVersion\Run

Особо отмечу:

HKEY_LOCAL_MACHINE

SOFTWARE\Microsoft\Windows\CurrentVersion\Run

HKEY_LOCAL_MACHINE

SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices

HKEY_USERS\.DEFAULT

Software\Microsoft\Windows\CurrentVersion\Run

Надеюсь, все поняли, что вверху написано :) А теперь разберемся, как можно это реализовать, вот пример:

//==========================================================

// автозапуск проги через реестр

//name-имя проги; Path-путь где находится прога

void __fastcall AutoRun(AnsiString Name, AnsiString Path)

{Tregistry *Reg = new Tregistry; // создали указатель на реестр

{ Reg->RootKey = HKEY_LOCAL_MACHINE; //указали необходимый ключ

if (Reg->OpenKey("\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true))

{ Reg->WriteString(Name, Path); //записали как наз. Прога и где находится

Reg->CloseKey();//закрыли реестр

}

}

delete Reg; //удалили указатель не реестр

//все кажись, работает :)

}

Ну вот, теперь ты можешь авто грузить свои програмки, классно да? :)

Если есть вопросы или что не понятно пишите на мыло. Или следите за обновлениями на моем сайте.

(с) Белоногов Илья, ноябрь 2002.

http://www.itsprogs.chat.ru

mailto:su27@list.ru