Запуск программы при вкл. компьютера

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Лена89
Сообщения: 52
Зарегистрирован: 20 июн 2007, 10:36

Привет!

Пожалуйста, подскажите, как сделать (программно) что бы при вкл. компа автоматически запускалась определенная программа (автозагрузка исключается)?

Работаю в VC++.NET 2003

Спасибо.
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Прописать программу в реестр в секцию:
HKCU\Sofware\Microsoft\Windows\CurrentVersion\Run

Это позволит добиться того, чтобы программа запускалась автоматически так, как будто её перетащили в папку Startup, но при этом в Startup она отображаться не будет.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Лена89
Сообщения: 52
Зарегистрирован: 20 июн 2007, 10:36

Премного благодарна за ответ ... это делается какой-то одной ф-цией или здесь достаточно сложная кодировка (извините за глуповатость вопроса ;) )?
Apokal
Сообщения: 81
Зарегистрирован: 14 янв 2008, 19:02

Это можно зделать просто, путем Start -> Run (Пуск->Выполнить) -> Там прописать regedit и нажать Enter. Перейти к Key (Ключу), который указал Romeo, в этом ключе создать String Value (Строковое значение), путем нажатия правой клавиши и выбора пункта New, назвать можно как хочеш, после создания правой клавишей на том что создала, там пункт выбиарем Modify (Изменить) и во втором edit'e пишеш адресс местонахождения твоей проги на компе и все. Навсякий случай скажу что HKCU это HKEY_CURRENT_USER, а собсна ключи в реестре имеют изображения папочек маленьких)))
For Those Who About The Rock We Salute You!!!
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Как я понял, девушку интересует именно программный способ записи в реестр. Об этом можно почитать, к примеру, здесь.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Apokal
Сообщения: 81
Зарегистрирован: 14 янв 2008, 19:02

Да точно, зафтыкал((( Добавлю токо еси нада чтоб у всех пользователей это прога запускалась нада писать уже в HKEY_LOCAL_MACHINE.
For Those Who About The Rock We Salute You!!!
Аватара пользователя
Airhand
Сообщения: 239
Зарегистрирован: 06 окт 2005, 16:21
Откуда: Dnepropetrovsk

Для редактирования реестра нужны права администратора.
HKCU - для текущего пользователя.
HKLM - для всей машины.
Оптимизация по скорости:
#define while if
Оптимизация по размеру:
#define struct union
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Бесспорно права должны быть. Но если их нет, то откажутся работать и другие программы, имеющие в настройках галочку "Run on startup". А всё потому, что эти программы используют такой же подход.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Аватара пользователя
Airhand
Сообщения: 239
Зарегистрирован: 06 окт 2005, 16:21
Откуда: Dnepropetrovsk

Romeo писал(а):Бесспорно права должны быть. Но если их нет, то откажутся работать и другие программы, имеющие в настройках галочку "Run on startup".
Это - чушь, т.к. как-то же работают люди без прав администратора. Если бы это было невозможно, то зачем бы делали такую возможность. За бугром, к стати, многие работают за компами без прав админа.
Оптимизация по скорости:
#define while if
Оптимизация по размеру:
#define struct union
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

&quot писал(а):Это - чушь
Это ты про свой пост?

Перед тем как такое писать сначала возьми и проверь. Use case осилишь составить?
&quot писал(а):Если бы это было невозможно...
Я так понимаю, тебе известен другой способ. Чтобы не быть голословным рассуждая о возможности и невозможности, предлагаю тебе явить нам свою кладезь знаний.
&quot писал(а):За бугром, к стати, многие работают за компами без прав админа.
Этот факт я не отрицаю. Но если нет прав на запись в реестр, то отсюда следует лишь то, что что программа была установлена администратором (иначе её не установить), и этот флажок в реестре был взведён именно ним. Все последующие попытки пользователя сменить флажок будет тщетны. И с этим вполне можно работать не только за бугром, но и у нас.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Ответить