Использование system () не приведет к редактированию реестра из командного файла

Я пытаюсь запустить простой скрипт для редактирования значения по умолчанию 'AutoRestartShell' реестр. У меня есть функция, объявленная для создания пакетного файла, затем запускается пакет, чтобы использовать Set-ItemProperty значения реестра.

void resetAutoRestartShell() {
ofstream autoRestart("autorestart.bat");
autoRestart <<
"powershell \"Set-ItemProperty 'HKLM:\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon'
-Name AutoRestartShell -Value 1\"" << endl <<
"pause";
autoRestart.close();
system("autorestart.bat"); }

Тем не менее, пакетный файл не будет редактировать реестр из программы, запущенной от имени «Администратор». Я могу щелкнуть правой кнопкой мыши '.bat', запустите его, и значение реестра изменится; однако, когда программа запускает функцию:

resetAutoRestartShell();

Сценарий ничего не меняет. Я что-то упускаю? Я тоже бегу Code::Blocks (если это имеет значение).

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector