Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/42: Рейтинг темы: голосов - 42, средняя оценка - 4.90
 Аватар для Gabberr
105 / 105 / 19
Регистрация: 13.10.2009
Сообщений: 406

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

04.02.2011, 15:49. Показов 8530. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте господа!
Столкнулся с такой проблемой:
хочу добавить приложение в автозагрузку,нашёл вот такой код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 TRegistry *Reg = new TRegistry;
  try
  {
    Reg->RootKey = HKEY_LOCAL_MACHINE;
    if (Reg->OpenKey("\\Software\\Microsoft\\Windows\\CurrentVersion\\Run", true)
    {
      Reg->WriteString("MyApp","\"" + ParamStr(0) + "\"");
      Reg->CloseKey();
    }
  }
  __finally
  {
    delete Reg;
  }

это функции хедера registry.hpp ,а он видимо есть только в Borland C++ Builder.
как сделать то же самое в VS c++ или точнее какой хедер включает в себя работу с реестром в VS c++ ?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.02.2011, 15:49
Ответы с готовыми решениями:

Автозагрузка через реестр!
Всем привет! Есть код с bat который записывает автозагрузку через реестр. Как этот код переделать под AutoIt? Помогите плиз) сам...

Автозагрузка программ через реестр в Windows XP
Привет всем! Подскажите кто знает, как прописать ручками прогу в автозапуск через реестр (создать .reg файл с параметрами)

Автозагрузка программ через BIOS
Есть такой вопрос,возможно ли отключить автозагрузку некоторых программ через биос? если да то можно поподробнее пожалуйста :)

19
113 / 113 / 13
Регистрация: 01.10.2008
Сообщений: 876
04.02.2011, 18:40
C++
1
2
3
4
5
6
7
8
9
10
void WriteToReestr(void)
{
    HKEY hKey;
    TCHAR buffer[MAX_PATH];
    GetModuleFileName(NULL, buffer,MAX_PATH + 1);
 
    RegCreateKeyEx(HKEY_LOCAL_MACHINE,L"Software\\Microsoft\\Windows\\CurrentVersion\\Run",0,NULL,0,KEY_ALL_ACCESS,NULL,&hKey,NULL);
    RegSetValueEx(hKey,L"MY",0,REG_SZ,(PBYTE)buffer,2*wcslen(buffer)+1);
    RegCloseKey(hKey);
}
0
 Аватар для erthalion
48 / 45 / 4
Регистрация: 29.03.2010
Сообщений: 233
04.02.2011, 18:42
windows.h
0
 Аватар для Gabberr
105 / 105 / 19
Регистрация: 13.10.2009
Сообщений: 406
04.02.2011, 19:53  [ТС]
D@rkD@iver ,твой код не копмилится

в вижуале говорит
1>MSVCRTD.lib(crtexew.obj) : error LNK2019: ссылка на неразрешенный внешний символ _WinMain@16 в функции ___tmainCRTStartup


devcpp тоже ругается

cannot convert `const wchar_t*' to `const CHAR*' for argument `2' to `LONG RegCreateKeyExA(HKEY__*, const CHAR*, DWORD, CHAR*, DWORD, REGSAM, _SECURITY_ATTRIBUTES*, HKEY__**, DWORD*)'

cannot convert `TCHAR*' to `const wchar_t*' for argument `1' to `size_t wcslen(const wchar_t*)'

Сам понять ваще не могу в чем проблемма.Если не трудно, посоветуйте где подробно описывается работа с функциями реестра,учебник какой-нибудь штоли.

Добавлено через 3 минуты
Цитата Сообщение от D@rkD@iver Посмотреть сообщение
RegCreateKeyEx(HKEY_LOCAL_MACHINE,L"Soft ware\\Microsoft\\Windows\\CurrentVersion \\Run",0,NULL,0,KEY_ALL_ACCESS,NULL,&hKe y,NULL); RegSetValueEx(hKey,L"MY",0,REG_SZ,(PBYTE )buffer,2*wcslen(buffer)+1);
может быть параметр L лишний ?
0
Особый статус
 Аватар для bek08
40 / 41 / 10
Регистрация: 26.01.2010
Сообщений: 506
05.02.2011, 14:09
Вот код работает!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 HKEY hKey; 
    char szPath[0x100]; 
    GetModuleFileName(NULL, szPath, sizeof(szPath)); 
    RegCreateKeyEx(HKEY_LOCAL_MACHINE, 
                     "Software\\Microsoft\\Windows\\CurrentVersion\\Run", 
                     NULL, 
                     "", 
                     REG_OPTION_NON_VOLATILE, 
                     KEY_SET_VALUE, 
                     NULL, 
                     &hKey, 
                     NULL); 
 
    if (hKey) 
    { 
        RegSetValueEx(hKey, "My program", NULL, REG_SZ, (LPBYTE)szPath, strlen(szPath)); 
        RegCloseKey(hKey); 
    }
    //*********************************************
0
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
05.02.2011, 22:10
Цитата Сообщение от Gabberr Посмотреть сообщение
в вижуале говорит
1>MSVCRTD.lib(crtexew.obj) : error LNK2019: ссылка на неразрешенный внешний символ _WinMain@16 в функции ___tmainCRTStartup
WinMain сделай для начала.
на чем пишешь? CLI?
0
 Аватар для RealHeroes
8 / 8 / 2
Регистрация: 28.02.2011
Сообщений: 49
13.03.2011, 22:33
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <Windows.h>
void WriteToReestr(void)
{
  HKEY hKey;
        TCHAR buffer[MAX_PATH];
        GetModuleFileName(NULL, buffer,MAX_PATH + 1);
 
        RegCreateKeyEx(HKEY_LOCAL_MACHINE,L"Software\\Microsoft\\Windows\\CurrentVersion\\Run",0,NULL,0,KEY_ALL_ACCESS,NULL,&hKey,NULL);
        RegSetValueEx(hKey,L"MY",0,REG_SZ,(PBYTE)buffer,2*wcslen(buffer)+1);
        RegCloseKey(hKey);
 
 
}
выдает
1>LINK : fatal error LNK1561: точка входа должна быть определена
0
126 / 126 / 42
Регистрация: 12.03.2011
Сообщений: 227
14.03.2011, 00:28
Цитата Сообщение от RealHeroes Посмотреть сообщение
выдает
1>LINK : fatal error LNK1561: точка входа должна быть определена
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <Windows.h>
void WriteToReestr(void)
{
  HKEY hKey;
        TCHAR buffer[MAX_PATH];
        GetModuleFileName(NULL, buffer,MAX_PATH + 1);
 
        RegCreateKeyEx(HKEY_LOCAL_MACHINE,L"Software\\Microsoft\\Windows\\CurrentVersion\\Run",0,NULL,0,KEY_ALL_ACCESS,NULL,&hKey,NULL);
        RegSetValueEx(hKey,L"MY",0,REG_SZ,(PBYTE)buffer,2*wcslen(buffer)+1);
        RegCloseKey(hKey);
 
 
}
void main(void)
{
   WriteToReestr();
}
0
 Аватар для RealHeroes
8 / 8 / 2
Регистрация: 28.02.2011
Сообщений: 49
14.03.2011, 12:00
Теперь всё круче))
>RegTest.obj : error LNK2028: ссылка на неразрешенную лексему (0A000014) "extern "C" long __stdcall RegSetValueExW(struct HKEY__ *,wchar_t const *,unsigned long,unsigned long,unsigned char const *,unsigned long)" (?RegSetValueExW@@$$J224YGJPAUHKEY__@@PB _WKKPBEK@Z) в функции "void __cdecl WriteToReestr(void)" (?WriteToReestr@@$$FYAXXZ)
1>RegTest.obj : error LNK2028: ссылка на неразрешенную лексему (0A000015) "extern "C" long __stdcall RegCloseKey(struct HKEY__ *)" (?RegCloseKey@@$$J14YGJPAUHKEY__@@@Z) в функции "void __cdecl WriteToReestr(void)" (?WriteToReestr@@$$FYAXXZ)
1>RegTest.obj : error LNK2028: ссылка на неразрешенную лексему (0A00002D) "extern "C" long __stdcall RegCreateKeyExW(struct HKEY__ *,wchar_t const *,unsigned long,wchar_t *,unsigned long,unsigned long,struct _SECURITY_ATTRIBUTES * const,struct HKEY__ * *,unsigned long *)" (?RegCreateKeyExW@@$$J236YGJPAUHKEY__@@P B_WKPA_WKKQAU_SECURITY_ATTRIBUTES@@PAPAU 1@PAK@Z) в функции "void __cdecl WriteToReestr(void)" (?WriteToReestr@@$$FYAXXZ)
1>RegTest.obj : error LNK2019: ссылка на неразрешенный внешний символ "extern "C" long __stdcall RegCloseKey(struct HKEY__ *)" (?RegCloseKey@@$$J14YGJPAUHKEY__@@@Z) в функции "void __cdecl WriteToReestr(void)" (?WriteToReestr@@$$FYAXXZ)
1>RegTest.obj : error LNK2019: ссылка на неразрешенный внешний символ "extern "C" long __stdcall RegSetValueExW(struct HKEY__ *,wchar_t const *,unsigned long,unsigned long,unsigned char const *,unsigned long)" (?RegSetValueExW@@$$J224YGJPAUHKEY__@@PB _WKKPBEK@Z) в функции "void __cdecl WriteToReestr(void)" (?WriteToReestr@@$$FYAXXZ)
1>RegTest.obj : error LNK2019: ссылка на неразрешенный внешний символ "extern "C" long __stdcall RegCreateKeyExW(struct HKEY__ *,wchar_t const *,unsigned long,wchar_t *,unsigned long,unsigned long,struct _SECURITY_ATTRIBUTES * const,struct HKEY__ * *,unsigned long *)" (?RegCreateKeyExW@@$$J236YGJPAUHKEY__@@P B_WKPA_WKKQAU_SECURITY_ATTRIBUTES@@PAPAU 1@PAK@Z) в функции "void __cdecl WriteToReestr(void)" (?WriteToReestr@@$$FYAXXZ)
0
Особый статус
 Аватар для bek08
40 / 41 / 10
Регистрация: 26.01.2010
Сообщений: 506
14.03.2011, 14:38
Тебе же давали рабочий код!?
0
 Аватар для RealHeroes
8 / 8 / 2
Регистрация: 28.02.2011
Сообщений: 49
14.03.2011, 17:33
bek08, на ваш код выдает
RegTest.cpp(25) : error C2664: GetModuleFileNameW: невозможно преобразовать параметр 2 из 'char [256]' в 'LPWCH'
1> Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
1>.\RegTest.cpp(34) : error C2664: RegCreateKeyExW: невозможно преобразовать параметр 2 из 'const char [46]' в 'LPCWSTR'
1> Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
1>.\RegTest.cpp(38) : error C2664: RegSetValueExW: невозможно преобразовать параметр 2 из 'const char [11]' в 'LPCWSTR'
1> Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
0
Особый статус
 Аватар для bek08
40 / 41 / 10
Регистрация: 26.01.2010
Сообщений: 506
14.03.2011, 18:04
RealHeroes, Ты на какой среде работаешь у меня это был Visual c++ 6 . DialogBased
0
14.03.2011, 18:09

Не по теме:

RealHeroes, Советую сначало выучить С++ и разобратся со средой.. а потом пробывать писать подобного рода программы.

1
Особый статус
 Аватар для bek08
40 / 41 / 10
Регистрация: 26.01.2010
Сообщений: 506
14.03.2011, 18:19
RealHeroes, Держи!!!!!

ISergey, Ты это кому!?
Вложения
Тип файла: rar AutoZagruzka.rar (21.7 Кб, 178 просмотров)
0
Brainsbreaker
 Аватар для Digit@ll
899 / 374 / 54
Регистрация: 01.02.2011
Сообщений: 1,608
14.03.2011, 18:40
RealHeroes, что ты за безобразие творишь? Уже мозги всем засрал. Уже и MFC выложили в готовом проекте. Один код работает в 6.0, другой в 2008, в обоих - если переделать. Может напишешь уже в чем ты делаешь?
0
14.03.2011, 18:43

Не по теме:

bek08, Присмотрись ( не тебе )

Цитата Сообщение от ISergey Посмотреть сообщение
RealHeroes, Советую ...

0
Особый статус
 Аватар для bek08
40 / 41 / 10
Регистрация: 26.01.2010
Сообщений: 506
14.03.2011, 18:50
ISergey, Нуу извини!!!
0
 Аватар для RealHeroes
8 / 8 / 2
Регистрация: 28.02.2011
Сообщений: 49
14.03.2011, 20:40
Как же это всё сложно... А можно чтобы работало не в мфс, а просто пустой проект создать и в нем в один единственный файл .cpp вписать? т.е. на выхде получилась программа которая сразу добавляет в реестр без предварительных табличек. А С++ я учу)) уже пространства имен знаю))))
0
Особый статус
 Аватар для bek08
40 / 41 / 10
Регистрация: 26.01.2010
Сообщений: 506
15.03.2011, 01:27
Цитата Сообщение от RealHeroes Посмотреть сообщение
А можно чтобы работало не в мфс
Можно! WinApi без окон и дверей!
0
HohlyGavno
19.12.2013, 05:16
СПАСИБО ЗА КОД, ПАРНИ!
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.12.2013, 05:16
Помогаю со студенческими работами здесь

Автозагрузка через bat не работает на windows 8 и 10
Не работает автозагрузка в windows 8 и windows 10 через бат. Мой бат файл имеет следующее содержимое reg add...

Автозагрузка файла каждые 2 минуты через cmd
я не могу найти на просторе интернета код позволяющий через cmd/bat добавить файл в автозагрузку так что бы он запускался каждые 2 минуты....

Как отключить всплывающие окна "Ошибка сценария" в Internet Explorer через .reg файл (через реестр)?
Всем привет, подскажите пожалуйста, как отключить отображение всплывающих окон &quot;Ошибка сценария&quot; в Internet Explorer через .reg...

Реестр через cmd
При добавлении через ЦМД пишет (слишком много параметров в командной строке) что делать? reg add...

Запуск через реестр
1. Запускай 2. Выбери какую нибуд файл (например, картина) 3. Нажимай на Буттон2 да работает. тепер, 4. Закрой прогу 5....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru