Russian Qt Forum
Октябрь 01, 2024, 02:29 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Изменить значение реестра  (Прочитано 3514 раз)
nikeo
Гость
« : Январь 27, 2013, 15:48 »

Всем доброго времени суток!
У меня возникла проблема - функция не меняет значение реестра,возвращает значение равное 5(ERROR_ACCESS_DENIED)
вот собственно весь код:
Код:
 LONG lResult;
      HKEY hKey;
      const wchar_t* lpSubKey=L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon";

      lResult=RegOpenKeyExW(HKEY_LOCAL_MACHINE,
                                      lpSubKey,
                                             0,
                                KEY_SET_VALUE|KEY_READ,
                                         &hKey);

      if(lResult == ERROR_SUCCESS)
          qDebug()<<"its okay!:) "<<lResult;


      const wchar_t* lpName=L"Shell";
     const wchar_t* lpValueEx=L"test.exe";


      lResult=RegSetValueExW(hKey,
                 lpName,
                 0,
                 REG_SZ,
                 (BYTE*)lpValueEx,
                 ((DWORD)wcslen(lpValueEx)+1)*sizeof(wchar_t));
      RegCloseKey(hKey);

      if (lResult != ERROR_SUCCESS)
          qDebug()<<"OOOpps!"<<lResult;

стоит win 7
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #1 : Январь 27, 2013, 16:13 »

А что тебе собственно не понятно в ERROR_ACCESS_DENIED. Улыбающийся
У тебя не хватает прав на изменение этого значения.
Записан
nikeo
Гость
« Ответ #2 : Январь 27, 2013, 16:34 »

А что тебе собственно не понятно в ERROR_ACCESS_DENIED. Улыбающийся
У тебя не хватает прав на изменение этого значения.


это то я понимаю)))исправить то это как?
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #3 : Январь 27, 2013, 16:57 »

это то я понимаю)))исправить то это как?
Повышением прав у процесса. Почитай про UAC, файлы манифесты и вообще систему безопасности винды.
Записан
Bepec
Гость
« Ответ #4 : Январь 27, 2013, 19:27 »

А если вообще просто выражаться - хрен что сделаешь Улыбающийся

Ты же хочешь поменять шелл винды? Улыбающийся  ну флаг в руки. Иным способом, кроме как запроса пароля у пользователя не сделать.

PS у меня подобная проблема, но у меня проще - у меня это система авторизации Улыбающийся

PPS и да, гораздо проще использовать стандартную утилиту reg.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.113 секунд. Запросов: 23.