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

Коннект к реестру - C++

Восстановить пароль Регистрация
 
Писарев Иван
0 / 0 / 0
Регистрация: 05.09.2012
Сообщений: 44
09.09.2013, 22:01     Коннект к реестру #1
Доброго времени суток! Стоит задача внести запись в реестр(автозагрузка определенной программы). Код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int main()
{
    _TCHAR szPath[] = _T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\");
 
     HKEY hKey;
 
    _TCHAR szBuf[100] = _T("D:\\Text.txt");
     DWORD dwBufLen = 100;
 
    if(RegCreateKeyEx(HKEY_LOCAL_MACHINE,szPath,0,NULL,REG_OPTION_BACKUP_RESTORE, KEY_ALL_ACCESS, NULL, &hKey, NULL)!=ERROR_SUCCESS);
    {
             //Комманда добавления(как ее использовать тоже понять не могу)
    }
Как я понимаю, должно быть настроено соединение с папкой Run(автозапуск при включении ОС). Тем не менее, при пошаговой отладке hKey не принимает никакого значения(коннект отсутствует). Где именно моя ошибка?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.09.2013, 22:01     Коннект к реестру
Посмотрите здесь:

Windows XP Вопросы по реестру
C# Нечувствительность к реестру
Доступ к реестру в Win7 C#
Вопрос по реестру и DWORD Delphi
Доступ к реестру на С++ C++
Delphi Права доступа к реестру
Теория по реестру
Ошибка доступа к реестру C#
Доступ к реестру C++ Builder
C++ Коннект к сайту, считать все что было на странице, распарсить
C# Ошибка доступа к реестру
Поиск по реестру Delphi

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Убежденный
Системный программист
 Аватар для Убежденный
14453 / 6437 / 1017
Регистрация: 02.05.2013
Сообщений: 10,676
Завершенные тесты: 1
09.09.2013, 22:08     Коннект к реестру #2
1) Для доступа в раздел HKEY_LOCAL_MACHINE на запись нужны права администратора.
2) ERROR_SUCCESS - это код успеха, а не ошибки.
Писарев Иван
0 / 0 / 0
Регистрация: 05.09.2012
Сообщений: 44
09.09.2013, 22:10  [ТС]     Коннект к реестру #3
Цитата Сообщение от Убежденный Посмотреть сообщение
1) Для доступа в раздел HKEY_LOCAL_MACHINE на запись нужны права администратора.
2) ERROR_SUCCESS - это код успеха, а не ошибки.
Как выдать программе такие права?

ПРограмма заходит в условие и при "!=", и при "=="(я понимаю, что нужно использовать второй случай).
Убежденный
Системный программист
 Аватар для Убежденный
14453 / 6437 / 1017
Регистрация: 02.05.2013
Сообщений: 10,676
Завершенные тесты: 1
09.09.2013, 22:18     Коннект к реестру #4
Цитата Сообщение от Писарев Иван Посмотреть сообщение
Как выдать программе такие права?
В манифесте программы выставить "requestedExecutionLevel" равным "requireAdministrator".
Тогда при запуске будет появляться окно UAC. На системах до Windows Vista, где UAC
отсутствует, нужно проверять, входит ли SID встроенной группы "Администраторы" в
маркер безопасности (access token) потока, и если нет - выдавать ошибку.
Пример есть здесь: http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

Цитата Сообщение от Писарев Иван Посмотреть сообщение
я понимаю, что нужно использовать второй случай
Да.
Yandex
Объявления
09.09.2013, 22:18     Коннект к реестру
Ответ Создать тему
Опции темы

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