Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как запустить прогу при старте ?

1.2K
29 октября 2004 года
BigBug
93 / / 30.07.2004
Мне нужно чтоб программа запускалась при старте.
И при этом в настройках пользователь мог отменить это.
По слухам которые доползли до меня нужно
гдето чегото писать в реестре.
Но где и как ?
Подскажите пожалуйсто.
501
29 октября 2004 года
hell_admin
110 / / 02.10.2004
Цитата:
Originally posted by BigBug
Мне нужно чтоб программа запускалась при старте.
И при этом в настройках пользователь мог отменить это.
По слухам которые доползли до меня нужно
гдето чегото писать в реестре.
Но где и как ?
Подскажите пожалуйсто.



прописать в реестре имя проги и путь надо сюда

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\

Для этого в MFC кажись клас какой-то был:
о вспомнил.. CRegKey почитай в msdn описание на него..

1.2K
01 ноября 2004 года
BigBug
93 / / 30.07.2004
Неа не понятно.
В реестре по етому адресу ничего особенного
не нашол.

Может ктото может объяснить по лучше ?
Примером кода если можно.
492
01 ноября 2004 года
alibabaich
238 / / 08.07.2004
Цитата:
Originally posted by BigBug
Неа не понятно.
В реестре по етому адресу ничего особенного
не нашол.

Может ктото может объяснить по лучше ?
Примером кода если можно.


Ну, есть вариянт проще ярлык засунуть в папку автозагрузка... .\Document and Setting\AllUsers\Главное меню\Программы\Автозагрузка\... К тому же и юзер всегда эту гадость не мучаясь удалить сможет....

1.2K
01 ноября 2004 года
BigBug
93 / / 30.07.2004
Цитата:
Originally posted by alibabaich

Ну, есть вариянт проще ярлык засунуть в папку автозагрузка... .\Document and Setting\AllUsers\Главное меню\Программы\Автозагрузка\... К тому же и юзер всегда эту гадость не мучаясь удалить сможет....



Я так и делал раньше.
Но сейчас меня этот вариант не устраивает. :x

430
01 ноября 2004 года
craftyfox
157 / / 20.02.2000
Может быть, лучше в current user(или в соотв ветви users, если для не current), хотя можно и в mashine.

Добавляешь по этому адресу строковое значение под названием MyCooolProgram (или DontSoCoolButMy) и записываешь в него путь к программе.

Пример кода обязятельно?
368
01 ноября 2004 года
rostyslav
629 / / 13.07.2004
Цитата:
Originally posted by BigBug
Неа не понятно.
В реестре по етому адресу ничего особенного
не нашол.
Может ктото может объяснить по лучше ?
Примером кода если можно.


на счет объяснений, я далеко не спец, но
нужно добавить в раздел реестра, который указал hell_admin запись, с value name: что-угодно, и с value data: командная строка, типа, как ты бы запускал приложение из Dos окна, т.е. полный путь и exe-name.

И при этом в настройках пользователь мог отменить это.

не ясен уровень пользователя. мин. пусть переименует каталог, в которой находится твоя прога, если не хочет с ним дело иметь. :D (sorry)

Если, всерьез, то пользователь мог бы дописать какой-то аргумент к командной строке. Но это в программе, нужно бы обработать.

1.2K
01 ноября 2004 года
BigBug
93 / / 30.07.2004
Цитата:
Originally posted by craftyfox
Может быть, лучше в current user(или в соотв ветви users, если для не current), хотя можно и в mashine.

Добавляешь по этому адресу строковое значение под названием MyCooolProgram (или DontSoCoolButMy) и записываешь в него путь к программе.

Пример кода обязятельно?



Если можно.
Я пробовал так:
[COLOR=blue]
CWinApp *pApp=AfxGetApp();
pApp->WriteProfileString(_T("HKEY_CURRENT_USER\\Software\\"
"Microsoft\\Windows\\CurrentVersion\\Run")
,_T("RegTest")
,_T("C:\\RegTest.exe));[/COLOR]

Но неполучилось.
Наверно я чегото не понимю.

1.2K
01 ноября 2004 года
BigBug
93 / / 30.07.2004
Цитата:
Originally posted by rostyslav

не ясен уровень пользователя. мин. пусть переименует каталог, в которой находится твоя прога, если не хочет с ним дело иметь. :D (sorry)



Я имел в виду работу с интерфейсом программы.
И все действия должны выпоняться самой программой, но не как не пользователем.

430
01 ноября 2004 года
craftyfox
157 / / 20.02.2000
Почитай про WriteProfileString в MSDN.
Она пишет или в .ini или в реестр, туда,
куда установила SetRegistryKey (смотри свой
InitInstance).
CRegKey в MFC я что-то не нашел (это ATL);
С помощью API это выглядит примерно так:
 
Код:
HKEY key;
    if(ERROR_SUCCESS==
        RegCreateKeyEx(HKEY_CURRENT_USER,
        _T("Software\\Microsoft\\Windows\\CurrentVersion\\Run"),
        0,0,0,KEY_WRITE,0,&key,0))
    {
        RegSetValueEx(key,_T("RegTest"),0,REG_SZ,(BYTE*)_T("C:\\RegTest.exe"),
            sizeof(_T("C:\\RegTest.exe")));
        RegCloseKey(key);
    }

Удаляешь значение, соответственно RegDeleteValue.
на http://codeproject.com много примеров по реестру
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог