Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Илларион
8 / 8 / 0
Регистрация: 05.06.2011
Сообщений: 97
#1

Неудается добавить в автозагрузку! - C++

26.08.2011, 21:41. Просмотров 735. Ответов 8
Метки нет (Все метки)

Привет всем! Такая проблема. Пытаюсь средствами С++ добавить прогу в автозагрузку, в итоге не получается, выдает код ошибки 87, смотрел по winerror - это ERROR_INVALID_PARAMETER. В чем проблема? Вроде, все правильно делаю... Вот исходник
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
HKEY hKey = HKEY_LOCAL_MACHINE; 
    
     TCHAR *sKey = (TCHAR *)"Software\\Microsoft\\Windows\\CurrentVersion\\Run";
    LONG a = RegCreateKeyEx(hKey, 
                     sKey, 
                     NULL, 
                     NULL, 
                     REG_OPTION_NON_VOLATILE, 
                     KEY_SET_VALUE, 
                     NULL, 
                     &hKey, 
                     NULL); 
    if(a==ERROR_SUCCESS)
    {
      cout << "ura!" <<endl;
       system("PAUSE");
      
    }
    else
    {
      cout << "bat! " << a << endl;
      system("PAUSE");
    }
Благодарю за помощь!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.08.2011, 21:41     Неудается добавить в автозагрузку!
Посмотрите здесь:

Как добавить программу в автозагрузку? - C++
Здравствуйте. Мне необходимо добавить свою программу в автозагрузку. Чтобы не было тупых вопросов, вроде: ,,А для чего тебе это? Вирус что...

Как добавить программу в автозагрузку которой нужны администраторские права - C++
Привет, как добавить программу в автозагрузку которой нужны администраторские права ?

Почему неудается осуществить больше 10 вводов? - C++
Задача взята с хаккерранка ( https://www.hackerrank.com/challenges/sherlock-and-array?h_r=internal-search ) : Условие : Шерлок и массив...

Ping...неудается с функцию system поместить переменную - C++
неудается с функцию system поместить переменную...при запуске выводит что неудалось найти узел string...как запихать переменные в system? ...

Добавление в автозагрузку - C++
Код автозагрузки: char autorun = &quot;C:\\KFX\\Project.exe&quot;; DWORD dwtype = 0; DWORD dwBufsize = sizeof(autorun); TCHAR szpath; HKEY...

Прописывание программы в автозагрузку - C++
Уважаемые программисты! Подскажите как можно сделать чтоб при запуске программа прописывала себя в автозагрузку. А дальше, как я понимаю,...

Добавление программы в реестр (Автозагрузку) | RegSetValueEx - C++
Приветствую, уважаемые пользователи cyberforum.ru! У меня проблема, не работает RegSetValueEx, не добавляет программу в реестр. Сам...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
villu
202 / 202 / 4
Регистрация: 06.08.2011
Сообщений: 600
Записей в блоге: 1
26.08.2011, 23:19     Неудается добавить в автозагрузку! #2
C++
1
TCHAR *sKey = (TCHAR *)_T("Software\\Microsoft\\Windows\\CurrentVersion\\Run");
либо
C++
1
wchar_t *sKey = L"Software\\Microsoft\\Windows\\CurrentVersion\\Run";
и после этого, разумеется:
C++
1
2
3
4
5
6
7
8
9
    LONG a = RegCreateKeyExW(hKey, 
                     sKey, 
                     NULL, 
                     NULL, 
                     REG_OPTION_NON_VOLATILE, 
                     KEY_SET_VALUE, 
                     NULL, 
                     &hKey, 
                     NULL);
Илларион
8 / 8 / 0
Регистрация: 05.06.2011
Сообщений: 97
26.08.2011, 23:53  [ТС]     Неудается добавить в автозагрузку! #3
Спасибо, второй вариант изменил ошибку (я правда только не понял в чем она).
Но появилась теперь ошибка 5 - ERROR_ACCESS_DENIED. Как я понимаю, недостаточно прав. Но почему, я ведь из-под админа компилирую... И как её убрать, подскажить, please
villu
202 / 202 / 4
Регистрация: 06.08.2011
Сообщений: 600
Записей в блоге: 1
26.08.2011, 23:56     Неудается добавить в автозагрузку! #4
(я правда только не понял в чем она).
В том, что во втором случае используется UNICODE строка для юникод функции.

Цитата Сообщение от Илларион Посмотреть сообщение
Но почему, я ведь из-под админа компилирую
Win7?
потому что в виндовс 7 админ на самом деле не совсем админ можно сделать "Запустить под администратором" из контекстного меню.
Илларион
8 / 8 / 0
Регистрация: 05.06.2011
Сообщений: 97
27.08.2011, 14:29  [ТС]     Неудается добавить в автозагрузку! #5
Да, спасибо огромное))

Добавлено через 14 часов 30 минут
Вот новая проблема. Пытаюсь компилировать на dev-C++ сделующий код.
C++
1
2
3
4
5
6
7
8
9
LONG a = RegCreateKeyEx(hKey, 
                     sKey, 
                     NULL, 
                     NULL, 
                     REG_OPTION_NON_VOLATILE, 
                     KEY_SET_VALUE, 
                     NULL, 
                     &hKey, 
                     NULL);
Выдает: 22 C:\Dev-Cpp\Projects\!funny\main.cpp [Warning] passing NULL used for non-pointer converting 3 of `LONG RegCreateKeyExA(HKEY__*, const CHAR*, DWORD, CHAR*, DWORD, REGSAM, _SECURITY_ATTRIBUTES*, HKEY__**, DWORD*)'
Указывает на последний параметр, который NULL. В чем тут дело? На Visual C++ всё ок...
villu
202 / 202 / 4
Регистрация: 06.08.2011
Сообщений: 600
Записей в блоге: 1
27.08.2011, 14:32     Неудается добавить в автозагрузку! #6
на 0 можно поменять, например.
Илларион
8 / 8 / 0
Регистрация: 05.06.2011
Сообщений: 97
27.08.2011, 14:33  [ТС]     Неудается добавить в автозагрузку! #7
Неа, все тоже самое...
grizlik78
Эксперт С++
1903 / 1435 / 109
Регистрация: 29.05.2011
Сообщений: 2,990
27.08.2011, 14:36     Неудается добавить в автозагрузку! #8
Илларион, речь ведь не о последнем параметре, а о третьем.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.08.2011, 14:37     Неудается добавить в автозагрузку!
Еще ссылки по теме:

Как сделать чтобы программа при первом запуске добавлялась в автозагрузку? - C++
Как сделать чтобы программа при первом запуске добавлялась в автозагрузку? А потом при каждом запуске ПК, висела в процессах просто, и...

Написать самый простой антивирусный сканер, который сможет найти вирус, записанный в автозагрузку - C++
Всем привет, пишу практическую работу по информационной безопасности, необходимо написать самый простой антивирусный сканер, который сможет...

Добавить программу в автозагрузку - Delphi
Добавить программу в автозагрузку как такое сделать? Что бы работало

Добавить программу в автозагрузку - Visual Basic .NET
Подскажите, пожалуйста. Как сделать так, чтобы программа начала выполняться не при нажатии на кнопку а при ее запуске. (Меня учили...

Добавить программу в Автозагрузку - C#
Написал консольную программу, его нужно добавить в автозагрузку .


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

Или воспользуйтесь поиском по форуму:
Илларион
8 / 8 / 0
Регистрация: 05.06.2011
Сообщений: 97
27.08.2011, 14:37  [ТС]     Неудается добавить в автозагрузку! #9
А вот это спасибо)) Ушла ошибка, когдя я поменял на 0. Сбило с мыслей то, что в редакторе он выделил последний параметр
Yandex
Объявления
27.08.2011, 14:37     Неудается добавить в автозагрузку!
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru