Отключить диспетчер задач из ограниченной / гостевой учетной записи

Я разрабатываю приложение на C ++, из которого пользователь может отключить диспетчер задач из приложения (и немного больше функций).
Вот как я это сделал в Visual C ++:

HKEY regHandle;

DWORD dwValue = 1;
BYTE* data = (BYTE*)&dwValue;

RegCreateKeyEx(HKEY_CURRENT_USER,"Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", 0, NULL, NULL, KEY_WRITE | KEY_WOW64_32KEY,NULL , &regHandle ,NULL );
RegSetValueEx(regHandle,"DisableTaskmgr",0, REG_DWORD,data ,sizeof(DWORD));

Это хорошо работало в учетной записи администратора. Но в ограниченной учетной записи пользователя и гостевой учетной записи это не работает. Он пытался изменить уровень UAC на административные привилегии / Максимально доступный. Оба не сработали. Я также проверил, могу ли я сделать это, записав значение reg в HKEY_LOCAL_MACHINE, К сожалению, это тоже не удалось.

Я хорошо гуглил и искал stackoverflow, но не нашел решения. Редактирование групповой политики / реестра вручную вовсе не является решением, я должен делать это изнутри моего приложения по мере необходимости. Заранее спасибо за помощь.

-1

Решение

Я предполагаю, что это потому, что вы изменяете параметр групповой политики через реестр:

введите описание изображения здесь

Но групповая политика еще не вступила в силу. Microsoft говорит, что вам нужно перезагрузить компьютер.

Возможно принудительное обновление групповой политики

gpupdate / force

заставит это вступить в силу.

Это то, что должен сделать ваш установщик, а затем напомнить пользователю, что он должен перезагрузить компьютер до завершения установки. Или, может быть, поскольку это просто HKCurrentUser, выход из системы и вход в систему будут работать.

2

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

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

По вопросам рекламы [email protected]